如何为String变量赋值或设置Optional <string>值?

时间:2017-06-28 16:56:54

标签: 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());

我需要帮助

1 个答案:

答案 0 :(得分:3)

如果错误发生在这一行:

Optional<String> addr = retrievePersonAddressById(5);

将其更改为Optional<String> addr = Optional.of(retrievePersonAddressById(5));