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.csdn.net/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.csdn.net/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.csdn.net/goodbye_youth/article/details/81003817

四、HttpStatus,页面一些请求状态常量

参考链接:https://blog.csdn.net/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);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值