java常用的工具类
一、StringUtils
//JDK提供String类型操作方法的补充,并且是null安全的,即如果输入参数String为null则不会抛出空指针,而是做了相应处理
// 判断某字符串是否为空,为空的标准是str==null或str.length()==0
isNotEmpty(str)等价于 str != null && str.length > 0
isNotBlank(str) 等价于 str != null && str.length > 0 && str.trim().length > 0
同理
isEmpty 等价于 str == null || str.length == 0
isBlank 等价于 str == null || str.length == 0 || str.trim().length == 0
参考链接:https://blog.youkuaiyun.com/xuxiaoxie/article/details/52095930
二、FileUtils
String string = "fileutils";
String str = FileUtils.readFileToString(new File("path"));//读取文件内容到String
FileUtils.writeStringToFile(new File("path"), str);//写String到该文件中
参考链接:https://blog.youkuaiyun.com/houfeng30920/article/details/51997368
三、Arrays
1.Arrays.asList(T… data) 将数组转换为集合,接收一个可变参
//注意:该方法返回的是Arrays内部静态类ArrayList,而不是我们平常使用的ArrayList,该静态类ArrayList没有覆盖父类的add, remove等方法,
//所以如果直接调用,会报UnsupportedOperationException异常
List<Integer> list = Arrays.asList(1,2,3);
System.out.println(list); //[1, 2, 3]
String[] strings = {"a", "b", "c"};
List<String> list2 = Arrays.asList(strings);
System.out.println(list2); //[a, b, c]
list2.add("d");//异常java.lang.UnsupportedOperationException
2.接收基本数据类型的数组
//如果将基本数据类型的数组作为参数传入,该方法会把整个数组当作返回的List中的第一个元素
int[] data = {1, 2, 3};
List<int[]> list = Arrays.asList(data);//集合只能装引用数据类型
System.out.println(list.size());//1
System.out.println(list.get(0)); //[[I@15db9742]
3.其他
// Arrays.fill(Object[] array, Object obj) //用obj替换数组所有元素
// Arrays.sort(Object[] array) //对数组元素进行排序(串行排序)
// Arrays.sort(T[] array, Comparator<? super T> comparator) //使用自定义比较器,对数组元素进行排序(串行排序)
// Arrays.binarySearch(Object[] array, Object key) //使用 二分法 查找数组内指定元素的索引值,前提是有序
参考链接:https://blog.youkuaiyun.com/goodbye_youth/article/details/81003817
四、HttpStatus,页面一些请求状态常量
参考链接:https://blog.youkuaiyun.com/lijinzhou2017/article/details/83108609
五、Md5
参考链接: https://www.cnblogs.com/codermen/p/7799691.html
六、Hutool
Java工具包,提供了许多与业务无关的常用方法,避免重复开发
1.Convert 类型转换器
Object val = null;
Convert.toStr(val);
Convert.toInt(val);
Convert.toLong(val);
Convert.toDouble(val);
Convert.toFloat(val);
Convert.toBigDecimal(val);
Convert.toDate(val);
Convert.convertTime(145248462254L,TimeUnit.MILLISECONDS,TimeUnit.DAYS);
2.DateUtil 时间工具类
DateUtil.now(); //当前时间,格式 yyyy-MM-dd HH:mm:ss
DateUtil.today(); //当前日期,格式 yyyy-MM-dd
String dateStr1 = "2017-03-01";
String dateStr2 = "2017-03-01 12:00";
String dateStr3 = "2017-03-01 12:18:02";
String dateStr4 = "2017-03-01 12:23:12.31";
String dateStr5 = "15:09:32";
DateUtil.parse(dateStr1);//字符串转换Date
3.字段验证器 Validator
String parameter = "+8610000000000";
int min = 5;
int max = 8;
//验证是否是身份证
boolean isCitizenId = Validator.isCitizenId(parameter);
//验证是否是Email
boolean isEmail = Validator.isEmail(parameter);
//验证是否是汉字
boolean isChinese = Validator.isChinese(parameter);
//验证是否是生日
boolean isBirthday = Validator.isBirthday(parameter);
//验证是否是Ipv4地址
boolean isIpv4 = Validator.isIpv4(parameter);
//验证是否是mac地址
boolean isMac = Validator.isMac(parameter);
//验证是否是中国的手机号
boolean isMobile = Validator.isMobile(parameter);
//验证是否是中国的车牌号
boolean isPlateNumber = Validator.isPlateNumber(parameter);
//验证是否是满足长度的仅含英文、数字、下划线的字符串
boolean isGeneral = Validator.isGeneral(parameter, min, max);
4.Log 日志统一接口
public class LogTest {
private static final Logger logger = LoggerFactory.getLogger(LogTest.class);
public void log4jAndSlf4jTest(){
//slf4+log4j “传统”日志
logger.info("当前毫秒: {},对应秒数为{}", System.currentTimeMillis(),System.currentTimeMillis()/1000);
Exception e = new NullPointerException();
//logger.error(e,"空指针异常,发生时间:","now"); 无法这样使用
logger.error("空指针异常",e);
}
}
5.其他
//BeanUtil Bean工具类
Map<String, Object> map = BeanUtil.beanToMap( new User("1001", "李先生") );
System.out.println(map);
boolean bool = BeanUtil.isEmpty( new User(null, null) );
bool = BeanUtil.hasNullField( new User("1001", null) );
System.out.println(bool);
//CollUtil 集合相关工具类
ArrayList<String> list = new ArrayList<>();
list.add("1");
bool = CollUtil.isEmpty(list);
System.out.println(bool);
//StrUtil 字符串工具类
bool = StrUtil.isBlank(" ");
bool = StrUtil.isEmpty(null);
System.out.println(bool);
//IdUtil ID生成器工具类,此工具类中主要封装:
String uuid = IdUtil.fastSimpleUUID();
System.out.println(uuid);
//HttpStatus HTTP状态码
//StrFormatter 字符串格式化工具
String bz = StrFormatter.format("你好,{}同学和{}同学", "张3", "张4");
System.out.println(bz);
//Log 日志统一接口
Log log = LogFactory.get(Test.class);
log.info("info");
log.error("获取消息数量出错!!!!");
//DateUtil 时间工具类
String nowDate = DateUtil.now();
System.out.println(nowDate);
//ExceptionUtil
try {
int i = 10 / 0;
} catch (Exception e) {
e.printStackTrace();
System.out.println(ExceptionUtil.getMessage(e));
}
//CharsetUtil 字符集工具类
System.out.println(CharsetUtil.CHARSET_UTF_8);