Is there a shortcut to execute something only if its not null?
本问题已经有最佳答案,请猛点这里访问。
我发现自己一直在写这个声明
1 2 3 4 5 | MyObject myObject = something.getThatObject(); if( myObject !=null && myObject .someBooleanFunction()){ } |
以防止空指针异常。在Java中有捷径吗?我在想像
Java 8有一个叫做可选的东西。更多详细信息请访问:http://www.oracle.com/technetwork/articles/java/java8-optional-2175753.html
在Java 8中:
1 2 3 4 5 6 7 8 | static <T> boolean notNull(Supplier<T> getter, Predicate<T> tester) { T x = getter.get(); return x != null && tester.test(x); } if (notNull(something::getThatObject, MyObject::someBooleanFunction)) { ... } |
如果这种风格对于读者来说是新的,那么应该记住,完整的函数式编程要更好一些。
不,我很确定没有比你现在的时间短的方法了。
不,如果它是一个对象。字符串有
您可以在检查空值的类和其他方法中编写自己的方法,但它必须是静态的,否则会遇到空指针问题。