是什么目的
Objects.isNull(x)
Run Code Online (Sandbox Code Playgroud)
如果我们可以简单地写
x == null
Run Code Online (Sandbox Code Playgroud)
?
同样的
Objects.nonNull(...)
Run Code Online (Sandbox Code Playgroud)
和
x != null
Run Code Online (Sandbox Code Playgroud) 我有一张地图,我想要计算一些东西.在java 8之前,我不得不在地图中为每个键放置一个零,然后才能这样map.put(key, map.get(key)+1).
从Java 8开始,我现在可以使用Map的合并方法,如下例所示:
public class CountingMap {
private static final Map<Integer, Integer> map = new HashMap<> ();
public static Integer add (final Integer i1,
final Integer i2) {
return i1 + i2;
}
public static void main (final String[] args) {
map.merge (0, 1, CountingMap::add);
System.out.println (map); //prints {0=1}
map.merge (0, 1, CountingMap::add);
System.out.println (map); //prints {0=2}
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,我可以将对Integer的+运算符的引用作为BiFunction传递而不必声明我自己的add函数吗?
我已经尝试过类似的事情Integer::+,Integer::operator+但没有这些作品.
编辑:正如Tunaki指出的那样,我可以使用它Integer::sum.不过,我想知道是否有可能直接通过运营商作为参考.