这就是我所拥有的。
Map data = new HashMap<>(); // assume this has been populated
public int getLastestVersion() {
// data.get("PATH_TO_DESIRED_POINT") would be an integer
return data.get("PATH_TO_DESIRED_POINT") == null ? 0 : (int)data.get("PATH_TO_DESIRED_POINT");
}
我试图避免违反DRY,但我希望能够保持三元的简单性。有什么我可以做的吗?
答案 0 :(得分:4)
如果您使用的是Java8,则可以使用getOrDefault
方法:
return data.getOrDefault("PATH_TO_DESIRED_POINT", 0);
答案 1 :(得分:2)
您可以将结果分配给Map<String, Integer> data
局部变量。这样编译器可以自由地内联它,并且您不必重复调用以进入final Integer v = data.get("PATH_TO_DESIRED_POINT");
return v != null ? v : 0;
。在Java 8+中,类似
Show the Attributes Inspector