Java 入门项目推荐:从零写简单工具类

新手学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-ddyyyy-MM-dd HH:mm:ss
  • 方法命名清晰,比如formatDate(LocalDate date)formatDateTime(LocalDateTime dt)
  • 加一句注释说明:“这个工具类只用于单线程场景,如控制台小工具”
  • 顺便练练异常处理:如果传入null,是抛IllegalArgumentException还是返回空字符串?选一个并保持一致

集合操作小工具:让ArrayList更顺手

集合是Java高频操作对象。写一个CollectionUtil,聚焦常用动作:

  • 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的语感、结构感和工程意识,就已经超过很多只看视频不动手的新手了。