代码
package optional;
import java.util.Objects;
import java.util.Optional;
public class OfAndOfNullable {
public static void main(String[] args) {
String str1 = "A";
String str2 = "B";
String str3 = null;
Objects.requireNonNull(str1);
of_Test(str1);
ofNUllable_Test(str2);
ofNUllable_Test(str3);
}
public static void of_Test(String arg) {
System.out.println(Optional.of(arg).get());
}
public static void ofNUllable_Test(String arg) {
System.out.println(Optional.ofNullable(arg).orElse("I am null."));
}
}
输出结果
A
B
I am null.
分析
Optional.ofNullable可以允许对象为null而不报错,但是需要给定对象为null时的值,在orElse()设置。
Objects.requireNonNull是要求对象不能为null,否则报错。