Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.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
Java 如何分配或设置可选的<;字符串>;字符串变量的值?_Java_Java 8 - Fatal编程技术网

Java 如何分配或设置可选的<;字符串>;字符串变量的值?

Java 如何分配或设置可选的<;字符串>;字符串变量的值?,java,java-8,Java,Java 8,我试图将从方法返回的可选值设置为模型类的setter方法 public class Person{ private String address; public void setAddress(String Address){ address = Address; } public String getAddress(){ return address; } } 这就是我试过的 Person person = ne

我试图将从方法返回的
可选值设置为模型类的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());
}

如果此行出现错误,我需要帮助:

Optional<String> addr = retrievePersonAddressById(5);
可选addr=retrievePersonalAddressById(5);

将其更改为
Optional addr=Optional.of(retrievePersonalAddressById(5))

检索PersonalAddressById
此函数返回一个
可选的
?是。我刚刚编辑了这篇文章。SorrySide备注:您可以跳过
if
并执行
addr.ifPresent(person::setAddress)。消息和行不在一起。尝试重建。您描述的错误在正常情况下是不可能的。要么您遗漏了信息,要么生成处于错误状态。您确定
Person
类的定义与您所显示的完全相同吗?并编写
if(true){
而不是
if(addr.isPresent()){
,yeeeeah!我刚刚编辑了这篇文章以澄清问题。很抱歉最初的文章。@Jamal,是的,但我在那行收到了错误消息。在应用此解决方案后,我仍然收到了错误。有什么建议吗?
person.setAddress(addr.get());
Optional<String> addr = retrievePersonAddressById(5);