常用代码处理方式

一、集合

1.集合定义
 List<String> list1 = Lists.newArrayList();   //定义一个集合,内部源码中返回了一个new arrayList
 List<String> list1 = Lists.newArrayList("a", "b", "c");  //直接定义集合内部属性
 List<Integer> list = Arrays.asList(25,15,16,33,2);    //直接定义集合内部属性 
2.集合工具类Collections

翻转集合

Collections.reverse(list);
3.获取集合中指定元素的下标
int a = Arrays.binarySearch(list.toArray(), "c");  //获取指定元素的下标  前一个参数传数组,第二个参数传数组里的值

二、时间日期

1.日期相关工具类DateUtils/DateFormatUtils
// Date 转化为字符串
DateFormatUtils.format(new Date(),"yyyy-MM-dd HH:mm:ss");
// 字符串 转 Date
DateUtils.parseDate("2020-05-07 22:00:00","yyyy-MM-dd HH:mm:ss");

2.时间计算DateUtils

Date now = new Date();
// Date 加 1 天
Date addDays = DateUtils.addDays(now, 1);
// Date 加 33 分钟
Date addMinutes = DateUtils.addMinutes(now, 33);
// Date 减去 233 秒
Date addSeconds = DateUtils.addSeconds(now, -233);
// 判断是否 Wie 同一天
boolean sameDay = DateUtils.isSameDay(addDays, addMinutes);
// 过滤时分秒,若 now 为 2020-05-07 22:13:00 调用 truncate 方法以后
// 返回时间为 2020-05-07 00:00:00
Date truncate = DateUtils.truncate(now, Calendar.DATE);
3.JDK8 时间类LocalDateLocalTime

JDK8 之后,Java 将日期与时间分为 LocalDateLocalTime,功能定义更加清晰,当然其也提供一个 LocalDateTime,包含日期与时间。这些类相对于 Date 类优点在于,这些类与 String 类一样都是不变类型,不但线程安全,而且不能修改。

LocalDateTime 进行字符串格式化。

// 按照 yyyy-MM-dd HH:mm:ss 转化时间
LocalDateTime dateTime = LocalDateTime.parse("2020-05-07 22:34:00", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
// 将 LocalDateTime 格式化字符串
String format = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").format(dateTime);

另外我们使用 LocalDateTime 获取当前时间年份,月份特别简单:

LocalDateTime now = LocalDateTime.now();
// 年
int year = now.getYear();
// 月
int month = now.getMonthValue();
// 日
int day = now.getDayOfMonth();

三、IO流

1.IO流工具类IOUtils -------org.apache.commons.io.IOUtils
1、closeQuietly 关闭一个IO流、socket、或者selector且不抛出异常。通常放在finally块。

2、toString 转换IO流、Uri、byte[]为String。

3、copy IO流数据复制,从输入流写到输出流中,最大支持2GB。

4、toByteArray 从输入流、URI获取byte[]。

5、write 把字节、字符等写入输出流。

6、toInputStream 把字符转换为输入流。

7、readLines 从输入流中读取多行数据,返回List

8、copyLarge 同copy,支持2GB以上数据的复制。

9、lineIterator 从输入流返回一个迭代器,

10、根据参数要求读取的数据量,全部读取,如果数据不够,则失败。
2.文件操作工具类FileUtils ---------org.apache.commons.io.FileUtils
1、deleteDirectory 删除文件夹

2、readFileToString 以字符形式读取文件内容。

3、deleteQueitly 删除文件或文件夹且不会抛出异常。

4、copyFile 复制文件

5、writeStringToFile 把字符写到目标文件,如果文件不存在,则创建。

6、forceMkdir 强制创建文件夹,如果该文件夹父级目录不存在,则创建父级。

7、write 把字符写到指定文件中

8、listFiles 列举某个目录下的文件(根据过滤器)

9、copyDirectory 复制文件夹

10、forceDelete 强制删除文件

四、其他

1.属性判空工具类ObjectUtils & StringUtils
boolean empty = ObjectUtils.isEmpty(list);  //任何类型都能使用ObjectUtils判空包括对象,类型,集合
//String类型也可以使用上面的判空,也可以使用StringUtils判空
StringUtils.isBlank()
2.四舍五入,保留两位小数
double f = 3.1516;
BigDecimal b = new BigDecimal(f);
double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); 
输出结果f1为 3.15
3.转换工具类ConvertUtils
ConvertUtils.convert(value,toType)  //value 待转换的字符串  toType 转换目标类型
4.类型复制工具类BeanUtils
BeanUtils.copyProperties(person, copyPerson);    //第一个参数是源对象,第二个参数是目标对象
person.setLike("rap");         					 //源对象的属性发生变化,目标对象的属性不会发生变化
Cat cat = new Cat();
BeanUtils.copyProperties(person, cat);  		 //类型不存在继承关系,能复制字段转成string然后赋值
5.String切割字符时,特殊字符需要转义
 String s = "a*b*c";
 s.split("\\*"); //特殊字符需要转义

6.随机数

int i = new Random().nextInt(4)+1;  //生成1-4的随机整数
int k = new Random().nextInt(4);  //生成0-4的随机整数
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值