大家相互分享下 Java 中常用的工具类心得

2023-02-24 13:58:49 +08:00
 awesomePower

不少开发者在开发过程中想要使用一个工具类,常常不确定该实现是否已经存在了,因此在会当场手撸一个,但有些功能其实 jdk 或者依赖的第三方库中已经有了。

这里我分享下我了解的比较好用的工具类方法:

// Objects
// 两个对象是否相等,里面实现了 null 的判断
Objects.equals(obj1, obj2);

// Function
// 等同于 a -> a
Function.identity();
// 整个库都非常有用,这里我举两个例子

// 单词首字母大写
StringUtils.capitalize("xx");

// 取字符串固定长度的子串(从左往右,不担心 null 和整体长度)
StringUtils.left("aa", 2); // right 是从右往左
// 关于 io 的操作,如果有相关需求,不妨去里面找找

// 下载链接到 File
 FileUtils.copyURLToFile();

Spring 基本上做 Web 的项目是必带的,没事可以去它的工具包里翘翘,或许可省下一些功夫。

大家有什么常用的小技巧和小心得可以相互分享下。

5221 次点击
所在节点    Java
44 条回复
martin2233
2023-02-24 16:35:51 +08:00
hutool
tianmalj0613
2023-02-24 17:25:50 +08:00
hutool :
StrUtil 里面有常用字符的常量池,比如 ':' '_' '-' 等等
BCrypt 用户密码常用加密算法实现
IdcardUtil 中国身份证输入合法性校验,可获取年龄,性别

暂时想到这几个吧,有些工具文档上没有,但是可能人家也包含了
Leviathann
2023-02-24 17:38:55 +08:00
@Nooooobycat 一般直接 stream join
dayudayupao
2023-02-24 17:44:51 +08:00
hutool yyds
alen0206
2023-02-24 17:45:21 +08:00
guava
zoyua
2023-02-24 18:08:12 +08:00
guava
codingbody
2023-02-24 18:16:18 +08:00
为啥都喜欢 hutool
zhaorunze
2023-02-24 18:32:31 +08:00
apache 的时间类有 bug ,或者我调用错了,获取的时候少了八个小时
echo1937
2023-02-24 18:37:20 +08:00
用 guava 比较多,apache-commons 基本不用
wanguorui123
2023-02-24 20:48:18 +08:00
BeanUtil.copy
StringUtils.isNullOrEmpty
yao00jun
2023-02-24 21:06:58 +08:00
guava
cjbi
2023-02-24 21:41:31 +08:00
Jdk 没有的我一般网上搜下看有没有别人写好的能满足需求的,没有就自己手搓,能少依赖就少依赖三方库
zhaogaz
2023-02-24 22:00:36 +08:00
工具有啥好分享的,遍地都是,没有再找一个呗。。。

兴致高了 仔细看看提供的函数。。。

不过我个人习惯是尽可能用现成的,能不写就不写,不得不写全靠抄(。
xuanbg
2023-02-24 23:00:12 +08:00
尽量少依赖第三方库。我是自己手撸一个,有需要增加新方法就加进去,改个版本发到私服上面。
james2013
2023-02-24 23:53:34 +08:00
hutool
oneisall8955
2023-02-25 00:26:43 +08:00
楼上没提及的 vavr
theliang
2023-02-25 09:54:14 +08:00
截止目前 guava 6 票 hutool12 票,我给 hutool+1
如果非要说具体工具类的话,
org.apache.commons.lang3.StringUtils#isAnyBlank(CharSequence... css) # 可以传递多个字符串判断其中是否有空的
theliang
2023-02-25 09:56:40 +08:00
cn.hutool.core.text.CharSequenceUtil#isAllNotBlank 同
@theliang
jklove123bai
2023-02-25 13:06:15 +08:00
@zhaorunze 少 8 小时大约是用的 utc 时间了
EscYezi
2023-02-25 13:58:56 +08:00
eclipse collection

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/918851

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX