Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果我们将Optional.of方法设置为私有,并且只允许在Java中使用Optional.of方法;除了向后兼容性,还会有其他问题吗?_Java_Java 8_Nullpointerexception_Null_Optional - Fatal编程技术网

如果我们将Optional.of方法设置为私有,并且只允许在Java中使用Optional.of方法;除了向后兼容性,还会有其他问题吗?

如果我们将Optional.of方法设置为私有,并且只允许在Java中使用Optional.of方法;除了向后兼容性,还会有其他问题吗?,java,java-8,nullpointerexception,null,optional,Java,Java 8,Nullpointerexception,Null,Optional,此问题必须更新,因为它被标记为重复,但所有链接的问题都不完全匹配尝试提问的内容: 是否有理由认为Optional.OfNullableVar是必需的,因为Optional.OfNullableVar检查方法内部的空指针 如前所述,目的可能类似于保护条款: Object object = getObject(); Optional.of(object); System.out.println(object.toString()); 这相当于: Object object = getObject(

此问题必须更新,因为它被标记为重复,但所有链接的问题都不完全匹配尝试提问的内容:

是否有理由认为Optional.OfNullableVar是必需的,因为Optional.OfNullableVar检查方法内部的空指针

如前所述,目的可能类似于保护条款:

Object object = getObject();
Optional.of(object);
System.out.println(object.toString());
这相当于:

Object object = getObject();
Objects.requireNonNull(object);
System.out.println(object.toString());

Java 8中的可选.of:

public static <T> Optional<T> of(T value) {
    return new Optional<>(value);
}
public static <T> Optional<T> ofNullable(T value) {
    return value == null ? empty() : of(value);
}
Java 8中可选的.ofNullable:

public static <T> Optional<T> of(T value) {
    return new Optional<>(value);
}
public static <T> Optional<T> ofNullable(T value) {
    return value == null ? empty() : of(value);
}
Optional.of的双重用途是使用给定的非null值构造Optional,但如果该值实际为null,则也会很快失败

这类似于

Objects.requireNonNull(value);
// and then using value
所以并没有什么会真正中断,你们会在很久以后发现你们用了一个空值来创建那个可选的,而你们不应该这样做。

定义问题。除了?这是一个很大的问题,除了java世界