首页 > 解决方案 > 有可能减少这种情况吗?(或 Java 中的解构赋值)

问题描述

我有一个getSource返回 a 的方法,Pair<String,String>我想调用该方法并将键和值关联到两个不同的变量。

我这样做:

entryMode = getSource(encounterAdmitSource).getKey();
admitSource = getSource(encounterAdmitSource).getValue();

我的问题是:java中有没有办法做这样的事情:

getSource(encounterAdmitSource){ //Something 
    entryMode = getKey();
    admitSource=getValue();
}

我想通过只调用一次方法来初始化 entryMode 和 admissionSource 并且不创建Pair<String,String>对象。它存在吗?谢谢你。

标签: java

解决方案


在不使用 Optional 的情况下,对于给定的示例,这是您可以(安全地)做的最好的事情

final Pair<String, String> source = getSource(encounterAdmitSource);
if (source!=null) { 
    String entryMode = source.getKey();
    String admitSource=source.getValue();
} 

推荐阅读