gpt4 book ai didi

java - 为什么类中的Optional成员变量的默认值为null?

转载 作者:行者123 更新时间:2023-12-01 06:49:37 26 4
gpt4 key购买 nike

import java.util.Optional;

public class Student {
public long id;
public String firstName;
public Optional<String> middleName;
public String lastName;
.
.
.
public Optional<String> getMiddleName() {
return middleName;
}
}

Student student = new Student();
if (student.getMiddleName().isPresent()) {
System.out.println(student.getMiddleName().get());
}

上面的代码将得到 NullPointerException因为Optional类成员值的默认值为null。应该是默认值Optional.empty()

最佳答案

不,不应该。 Optional 是与任何其他类型一样的引用类型,并且按照相同的规则默认为 null。如果您想将其初始化为空,则必须明确执行此操作:

public Optional<String> middleName = Optional.empty();

关于java - 为什么类中的Optional成员变量的默认值为null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42828049/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com