Java8新特性系列-Optional有什么意义?

Java8新特性系列-Optional有什么意义?

首发于:Java8新特性系列-Optional有什么意义? – 微爱博客

Java 8 中有一个称为 Optional 类的新功能,它应该可以解决 NullPointerExceptions。 显然,这些让开发人员感到恼火的程度比我想象的要多。 很明显,一个对象实际上只是一个指针,而指针可以指向任何东西。 也许不再是了? 也许本世纪大多数计算机科学专业的毕业生从未真正了解过指针,因为学校已经被高级编程语言所吸引。 在这一点上我并不批评,这就像问 90 年代计算机科学专业的学生为什么他们不知道 COBOL。

这个新的 Optional 类的亮点当然是“类”这个词。 Optional 只是一个包装器,它包含对其他对象的引用,并且不是 NullPointerExceptions 的灵丹妙药。

让我们从创建一个生成 NullPointerException 的非常简单的示例开始:

import java.util.Optional;

public class OptionalTest{

public String getNullString(){
return (null);
}

public Optional<String> getOptionalNullString(){
return (null);
}

public static void main(String[] args){
OptionalTest optionalTest=new OptionalTest();
String nullString=optionalTest.getNullString();

try{
System.out.println(nullString.toString());
}catch(NullPointerException x){
System.out.println("Oh the humanity, a NullPointerException!");
}
}
}
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » Java8新特性系列-Optional有什么意义?