java - 如何将 Optional<String> 值分配或设置为 String 变量?

标签 java java-8

我正在尝试设置 Optional<String>从方法返回到模型类的 setter 方法的值。

public class Person{

    private String address;

    public void setAddress(String Address){
        address = Address;
    }

    public String getAddress(){
        return address;
    }

}

这是我试过的

Person person = new Person();    
Optional<String> addr = retrievePersonAddressById(5);
if (addr.isPresent()) {
    person.setAddress(addr.get());
}

但是我得到了

incompatible types: String cannot be converted to Optional<String>

注意:

retrievePersonAddressById() 的返回类型为 Optional<string> .

错误在线

person.setAddress(addr.get());

我需要帮助

最佳答案

如果错误发生在这一行:

Optional<String> addr = retrievePersonAddressById(5);

改成Optional<String> addr = Optional.of(retrievePersonAddressById(5));

关于java - 如何将 Optional<String> 值分配或设置为 String 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44808533/

相关文章:

Java HTTP 服务器库

java - Integer.parseInt() 异常处理概念

Java 对象的部分构造

java - 从 swing 复制并粘贴到其他 Windows 应用程序中

java - 将 Object[] 从流转换为 byte[]

Java 8 创建将复杂类型列表映射到其字段之一的列表

java - 如何在同一类的其他对象中设置同一类对象

java - final变量是否需要在声明后立即赋值

java - 日期时间解析异常 : Text could not be parsed at index 2

java - 语法混淆:Set<String> set = people.stream().map(Person::getName).collect(Collectors.toCollection(TreeSet::new))