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);