可直接使用的常用判断工具类
String StringUtils.join(collections, ","); jar: commons-lang-2.5.jar
StringUtils.defaultString(null) 返回: ""
StringUtils.defaultString(null, "----") 返回: "----"
作用: 将 null 值转换成对应的字符串 。 默认是转换成 "" 字符串。
StringUtils 的详细使用:
http://crabdave.iteye.com/blog/638087
应用: 将集合中的对象用 , 号 拼接输出 如果,我们用来构造 SQL 语句的 删除可以
List<Long> ids = new ArrayList();
ids.add(1L);
ids.add(2L);
.
.
ids.add(1L);
execute "delete from tables where id in(" + StringUtils.join(ids, ",") + ")";
集合工具类 CollectionUtils.isNotEmpty(List list) jar: commons-collections-3.2.1.jar
判断 List 是不是空 , 不必考虑 NULL 空异常
开发中我们通常会自己定义一些封装好的工具类
数值计算工具类:
这段代码把比较长的小数位格式化,以免会变成科学计数法的表示方式.
public class DoubleUtil {
private static Map formats = new HashMap();
static {
formats.put(Integer.valueOf("2"), new DecimalFormat("##0.00"));
formats.put(Integer.valueOf("4"), new DecimalFormat("##0.0000"));
formats.put(Integer.valueOf("6"), new DecimalFormat("##0.000000"));
formats.put(Integer.valueOf("9"), new DecimalFormat("##0.000000000"));
}
public static String format(Double value, int scale) {
DecimalFormat fmt = (DecimalFormat) formats.get(Integer.valueOf(String.valueOf(scale)));
return fmt.format(value);
}
public static String format(double value, int scale) {
if (value == 0) {
return "0";
}
DecimalFormat fmt = (DecimalFormat) formats.get(Integer.valueOf(String.valueOf(scale)));
return fmt.format(value);
}
}
时间日期工具类:
public class DateUtils {
public static Date stringToDate(String date, String format)
throws ParseException {
if (StringUtils.isBlank(date)) {
return null;
}
SimpleDateFormat sdf = new SimpleDateFormat(format);
return sdf.parse(date);
}
public static String dateToString(Date date, String format) {
if (date == null) {
return null;
}
SimpleDateFormat sdf = new SimpleDateFormat(format);
return sdf.format(date);
}
public static long daysBetweenByDate(java.util.Date beginDate,
java.util.Date endDate) {
if (beginDate == null)
beginDate = new java.util.Date();
if (endDate == null)
endDate = new java.util.Date();
long beginTime = beginDate.getTime();
long endTime = endDate.getTime();
long betweenDays = (long) ((endTime - beginTime) / (1000 * 60 * 60 * 24));
return betweenDays;
}
}
字符串工具类
public class StringUtils {
public static boolean isEmpty(String str) {
return str == null || str.length() == 0;
}
public static String trim(String str) {
return str == null ? null : str.trim();
}
public static boolean equals(String str1, String str2) {
return str1 == null ? str2 == null : str1.equals(str2);
}
//把字符串按照perCount的长度平均劈开,我们在处理组合因子码的时候经常使用这个方法.
public static List<String> averageSplit(String src, int perCount) {
if (src == null || src.equals("") || src.length() % perCount != 0) {
return new ArrayList<String>();
}
int count = src.length() / perCount;
List<String> result = new ArrayList<String>();
for (int i = 0; i < count; i++) {
int temp = i * perCount;
result.add(src.substring(temp, temp + perCount));
}
return result;
}
//判断是否身份证
public static boolean isCardID(String cardID) {
if (isBlank(cardID)) {
return false;
}
if (cardID.length() == 15) {
return Pattern
.matches(
"^[1-9]\\d{5}(\\d{2}((((0[13578])|(1[02]))(([0-2][0-9])|(3[01])))|(((0[469])|(11))(([0-2][0-9])|(30)))|(02[0-2][0-9])))\\d{3}$",
cardID);
} else if (cardID.length() == 18) {
return Pattern
.matches(
"^[1-9]\\d{5}(\\d{4}((((0[13578])|(1[02]))(([0-2][0-9])|(3[01])))|(((0[469])|(11))(([0-2][0-9])|(30)))|(02[0-2][0-9])))\\d{3}[\\dX]$",
cardID);
} else {
return false;
}
}
//从身份证中获取性别信息
public static String getSex(String cardID) {
if (!isCardID(cardID)) {
return null;
}
if (cardID.length() == 15) {
int i = Integer.parseInt(cardID.substring(14));
return i % 2 == 0 ? CommonConstants.SEX_TYPE_FEMALE
: CommonConstants.SEX_TYPE_MAN;
} else if (cardID.length() == 18) {
int i = Integer.parseInt(cardID.substring(16, 17));
return i % 2 == 0 ? CommonConstants.SEX_TYPE_FEMALE
: CommonConstants.SEX_TYPE_MAN;
} else {
return null;
}
}
}