开发中常用的一些封装好的工具类

可直接使用的常用判断工具类

 

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;
		}
	}


}

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值