工具类Utils

工具类

一、深拷贝

1.List深拷贝(基本类型)
public static <T> List<T> deepCopy1(List<T> list) {
	List<T> newList = new ArrayList<T>();
    CollectionUtils.addAll(newList, new Object[list.size()]);
    Collections.copy(newList, list);
    return newList;
}
2.List深拷贝(复杂类型,序列化及反序列化)
public static <T> List<T> deepCopy(List<T> src) {
	try (ByteArrayOutputStream byteOut = new ByteArrayOutputStream();
			ObjectOutputStream outputStream = new ObjectOutputStream(byteOut);) {
		outputStream.writeObject(src);
		try (ByteArrayInputStream byteIn = new ByteArrayInputStream(byteOut.toByteArray());
				ObjectInputStream inputStream = new ObjectInputStream(byteIn);) {
			return (List<T>) inputStream.readObject();
		}
	} catch (Exception e) {
		e.printStackTrace();
	}
	return Collections.emptyList();
}

二、数据格式转化

1.浮点型数据格式转化,并去掉小数点后多余的零
DecimalFormat decimalFormat = new DecimalFormat("###.##");
System.out.println(decimalFormat.format(0.0123f));
//打印:0.01
System.out.println(decimalFormat.format(3.001234f));
//打印:3
2.字符串转换成时间格式

public static void main(String[] args) {
   DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyyMMddHH");
   System.out.println(LocalDateTime.parse("2020110405", dtf));
}

三、字符串反转

public static String reverse(String originStr) {
	if(originStr == null || originStr.length() <= 1) 
		return originStr;
	return reverse(originStr.substring(1)) + originStr.charAt(0);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值