跳至主要內容
Java Scanner:扫描控制台输入的工具类

9.1 Scanner工具类

Java 的 Scanner 类是一个方便在控制台扫描用户输入的工具类,虽然它也可以扫描文件内容,但我们通常更喜欢它扮演前面的角色,因为扫描文件可以通过文件流来完成。

接下来,我们通过几个简单的示例讲一下 Scanner 类。

01、扫描控制台输入

通常,我们会使用 Scanner 类来扫描控制台输入,尤其是对于初学 Java 的人来说,这样会非常的酷,因为终于可以拿到我们自己想要输入的数据了。


沉默王二大约 8 分钟Java核心常用工具类
Objects:专为操作Java对象而生的工具类

9.4 Objects工具类

Java 的 Objects 类是一个实用工具类,包含了一系列静态方法,用于处理对象。它位于 java.util 包中,自 Java 7 引入。Objects 类的主要目的是降低代码中的空指针异常 (NullPointerException) 风险,同时提供一些非常实用的方法供我们使用。

对象判空

在 Java 中,万物皆对象,对象的判空可以说无处不在。Objects 的 isNull 方法用于判断对象是否为空,而 nonNull 方法判断对象是否不为空。例如:


沉默王二大约 5 分钟Java核心常用工具类
其他常用Java工具类:IPUtil、CollectionUtils、MDC、ClassUtils、BeanUtils、ReflectionUtils

9.8 其他常用工具类

除了我们前面提到的 Java 原生工具类,比如说 ArraysObjectsCollectionsScanner 等,还有一些第三方的工具类,比如说 HutoolGuava 等,以及我们今天介绍的 IpUtil、CollectionUtils、StringUtils、MDC、ClassUtils、BeanUtils、ReflectionUtils 等等,在很大程度上能够提高我们的生产效率。


沉默王二大约 9 分钟Java核心常用工具类
Guava:Google开源的Java工具库,太强大了

9.7 Guava工具库

01、前世今生

你好呀,我是 Guava。

我由 Google 公司开源,目前在 GitHub 上已经有 39.9k 的铁粉了,由此可以证明我的受欢迎程度。

我的身体里主要包含有这些常用的模块:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support] 、并发库 [concurrency libraries] 、通用注解 [common annotations] 、字符串处理 [string processing] 、I/O 等。新版的 JDK 中已经直接把我引入了,可想而知我有多优秀,忍不住骄傲了。


沉默王二大约 10 分钟Java核心常用工具类
Hutool:国产良心工具包,让你的Java变得更甜

9.6 Hutool工具类库

读者群里有个小伙伴感慨说,“Hutool 这款开源类库太厉害了,基本上该有该的工具类,它里面都有。”讲真的,我平常工作中也经常用 Hutool,它确实可以帮助我们简化每一行代码,使 Java 拥有函数式语言般的优雅,让 Java 语言变得“甜甜的”。

Hutool 的作者在官网上说,Hutool 是 Hu+tool 的自造词(好像不用说,我们也能猜得到),“Hu”用来致敬他的“前任”公司,“tool”就是工具的意思,谐音就有意思了,“糊涂”,寓意追求“万事都作糊涂观,无所谓失,无所谓得”(一个开源类库,上升到了哲学的高度,作者厉害了)。


沉默王二大约 13 分钟Java核心常用工具类
Java Arrays:专为数组而生的工具类

9.2 Arrays工具类

“哥,数组专用工具类是专门用来操作数组的吗?比如说创建数组、数组排序、数组检索等等。”三妹的提问其实已经把答案说了出来。

“是滴,这里说的数组专用工具类指的是 java.util.Arrays 类,基本上常见的数组操作,这个类都提供了静态方法可供直接调用。毕竟数组本身想完成这些操作还是挺麻烦的,有了这层封装,就方便多了。”在回答三妹的同时,我打开 Intellij IDEA,找到了 Arrays 类的源码。


沉默王二大约 12 分钟Java核心常用工具类
Java Collections:专为集合框架而生的工具类

9.5 Collections工具类

Collections 是 JDK 提供的一个工具类,位于 java.util 包下,提供了一系列的静态方法,方便我们对集合进行各种骚操作,算是集合框架的一个大管家。

还记得我们前面讲过的 Arrays 工具类吗?可以回去温习下。

Collections 的用法很简单,在 Intellij IDEA 中敲完 Collections. 之后就可以看到它提供的方法了,大致看一下方法名和参数就能知道这个方法是干嘛的。


沉默王二大约 9 分钟Java核心常用工具类