新手学Java应先写实用工具类而非直接做Web项目,从StringUtil、时间格式化工具、CollectionUtil等入手,强调封装、静态方法、复用,并通过main测试和打包成jar验证效果。

刚学Java,别急着做Web系统或Spring项目。从写几个真正能用、能跑、能改的工具类开始,是最扎实的入门路径。重点不是功能多炫,而是理解“封装”“静态方法”“复用”这些核心思想。
从最基础的字符串工具开始
String是每天打交道最多的类型。先写一个StringUtil,只放3–5个实用方法:
-
isBlank(String str):判断字符串是否为空或全空白(别直接用
== null || "".equals()) -
substringAfter(String str, String separator):比如
substringAfter("user@domain.com", "@")返回"domain.com" - countChar(String str, char c):统计某个字符出现次数
- 所有方法都用
public static,不new对象,不存状态 - 写完立刻在
main里测试,输入输出看得见
动手写一个时间格式化工具
别一上来就用SimpleDateFormat——它线程不安全,新手容易踩坑。先写一个安全又简单的版本:
- 用
LocalDateTime+DateTimeFormatter(Java 8+推荐) - 提供两个固定格式:
yyyy-MM-dd和yyyy-MM-dd HH:mm:ss - 方法命名清晰,比如
formatDate(LocalDate date)、formatDateTime(LocalDateTime dt) - 加一句注释说明:“这个工具类只用于单线程场景,如控制台小工具”
- 顺便练练异常处理:如果传入
null,是抛IllegalArgumentException还是返回空字符串?选一个并保持一致
集合操作小工具:让ArrayList更顺手
集合是Java高频操作对象。写一个CollectionUtil,聚焦常用动作:
立即学习“Java免费学习笔记(深入)”;
-
isEmpty(Collection> coll):比
coll == null || coll.size() == 0更简洁 -
first(List
list) :取第一个元素,list为空时返回null或抛异常(自己定规则) -
toMap(List
list, Function :简单模拟keyMapper) Collectors.toMap逻辑,加深对函数式接口的理解 - 每个方法都配一行中文注释,说明用途和边界情况
- 测试时故意传
null、空集合、单元素集合,看结果是否符合预期
把工具类打包成可执行小工具
写完工具类,别让它只待在IDE里。试着让它“活起来”:
- 写一个
Main类,提供简易菜单:1.检查字符串 2.格式化当前时间 3.打印集合首项 - 用
Scanner接收用户输入,用你刚写的工具类处理并输出 - 打包成jar:右键项目 → Export → Runnable JAR File(IntelliJ或Eclipse都支持)
- 双击运行,或者命令行
java -jar mytools.jar——那一刻你会觉得“我真写了个东西” - 下一步可以加日志、读配置文件、甚至导出为exe(用launch4j),但第一步先跑通
基本上就这些。不复杂,但容易忽略:每个工具类只解决一类问题,方法命名直白,测试就在眼皮底下。写满5个这样的小工具,你对Java的语感、结构感和工程意识,就已经超过很多只看视频不动手的新手了。










