apache commons工具类库中的commons-lang是java.lang的增强版,优化了一些api,原来的commons-lang已停止更新
Maven依赖是:
<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.12.0</version> </dependency>
1.字符串判空
传参CharSequence类型是String、StringBuilder、StringBuffer的父类,都可以直接下面方法判空,以下是源码:
public static boolean isEmpty(final CharSequence cs) { return cs == null || cs.length() == 0; } public static boolean isNotEmpty(final CharSequence cs) { return !isEmpty(cs); } // 判空的时候,会去除字符串中的空白字符,比如空格、换行、制表符 public static boolean isBlank(final CharSequence cs) { final int strLen = length(cs); if (strLen == 0) { return true; } for (int i = 0; i < strLen; i++) { if (!Character.isWhitespace(cs.charAt(i))) { return false; } } return true; } public static boolean isNotBlank(final CharSequence cs) { return !isBlank(cs); }
2 .首字母转成大写
String str = "test"; String capitalize = StringUtils.capitalize(str); System.out.println(capitalize); // 输出Test
3 .重复拼接字符串
String str = StringUtils.repeat("ab", 2); System.out.println(str); // 输出abab
4 .格式化日期
// Date类型转String类型 String date = DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm:ss"); System.out.println(date); // 输出 2021-05-01 01:01:01 // String类型转Date类型 Date date = DateUtils.parseDate("2021-05-01 01:01:01", "yyyy-MM-dd HH:mm:ss"); // 计算一个小时后的日期 Date date = DateUtils.addHours(new Date(), 1);
和SimpleDateFormat对比:
import java.text.SimpleDateFormat; import java.util.Date; public class Main{ public static void main(String[] args){ Date date = new Date(); String strDateFormat = "yyyy-MM-dd HH:mm:ss"; SimpleDateFormat sdf = new SimpleDateFormat(strDateFormat); System.out.println(sdf.format(date));//2015-03-27 21:13:23
} }