有没有办法可以在方法中将以下代码写在一行中,代码没有问题,只是好奇
public MyObject getObj(String name){
MyObj myObj = PoolInstance.get(name);
myObj.setFound(true);
return myObj;
}
由于某种原因,我无法修改 PoolInstance。
最佳答案
您可以将逻辑封装在返回对象实例本身的 setter 中:
class MyObject {
private boolean found;
public MyObject withFound(boolean isFound) {
this.found = isFound;
return this;
}
}
客户端代码:
public MyObject getObj(String name){
return PoolInstance.get(name).withFound(true);
}
还可以考虑使用 GoF Builder
设计模式以获得更惯用和灵活的代码:Builder pattern example with explanation
关于java - 在一行中设置另一个属性后返回一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55405259/