Java8 的一个方法吐槽

2016 年 8 月 5 日
 hqtc

偶然看到 Java 8 中, Objects 工具类中有一个一个判断传入的对象是否为 null 的方法,感觉有点萌啊。

public static boolean isNull(Object obj) {
    return obj == null;
}

敢问各位小伙伴,这种方法为啥要搞到 jdk 里面呢,意义何在?

6385 次点击
所在节点    Java
23 条回复
skydiver
2016 年 8 月 5 日
Java8 支持了函数式编程,函数可以作为参数传入。

如果标准库不提供你就总得自己写 lambda ,太麻烦
skydiver
2016 年 8 月 5 日
注释里都写了,为什么不仔细看了就来发帖。

* @apiNote This method exists to be used as a
* {@link java.util.function.Predicate}, {@code filter(Objects::isNull)}
youxiachai
2016 年 8 月 5 日
估计到时候...函数式又有一波吐槽了...
ChiangDi
2016 年 8 月 5 日
这不是萌
ChiangDi
2016 年 8 月 5 日
这是原则
ChiangDi
2016 年 8 月 5 日
估计又有人要来吐槽 npm 上两行代码也能做一个模块了
acoder2013
2016 年 8 月 5 日
看看注释就知道每一个方法的意义
wander2008
2016 年 8 月 5 日
我想你可能是想多了。就想记自己写个工具类判断一样的。
6IbA2bj5ip3tK49j
2016 年 8 月 5 日
/**
* Returns a function that always returns its input argument.
*
* @param <T> the type of the input and output objects to the function
* @return a function that always returns its input argument
*/
static <T> Function<T, T> identity() {
return t -> t;
}
6IbA2bj5ip3tK49j
2016 年 8 月 5 日
这个岂不是更加萌?
twoyuan
2016 年 8 月 5 日
filter 的时候可以写成 Objects::isNull 看起来不是很爽嘛
Shura
2016 年 8 月 5 日
楼主如果用过 lambda 表达式就知道了
shyling
2016 年 8 月 5 日
ArrayList.stream.filter(Objects::isNull)
wizardforcel
2016 年 8 月 5 日
@twoyuan 太长了, o -> o == null 岂不是更加爽?
ewBuyVmLZMZE
2016 年 8 月 5 日
这个是用于函数式的,没有什么槽点,需要 用即可。
shimanooo
2016 年 8 月 5 日
@wizardforcel
id 函数 o -> o
O2O 哈哈
SoloCompany
2016 年 8 月 5 日
kotlin 有 “ it ” 解决可读性问题, java 8 的话显然方法引用可读性更好
NullMan
2016 年 8 月 5 日
@wizardforcel 从便利性来说, 你这个更赞! 毕竟不是所有人都晓得这个函数; 从可读性来说, 还是 isNull 更赞!

从我的角度来说, 还是你的最好.
ooonme
2016 年 8 月 6 日
scala: 什么函数式,一边玩去
dreampursuer
2016 年 8 月 6 日
groovy 更彻底

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

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

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

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

© 2021 V2EX