我正在使用lamdbas,所以我可以根据我可以从三个不同对象检索的值一致地设置ModelObject的属性.代码的工作原理如下:
public class Processor {
private void bar(Setter setter, MyClass myObject) {
String variable = myObject.getStringByABunchOfMethods();
setter.setVariable(variable);
}
protected void foo(...) {
...
bar(value -> model.setA(CONSTANT, value), aObject);
bar(value -> model.setB(value), bObject);
bar(value -> model.setC(value), cObject);
...
}
private interface Setter {
public void setVariable(String string);
}
}
public interface IModel {
public void setA(String arg0, String arg1);
public void setB(String arg0);
public void setC(String arg0);
}
我已经读过here可以重写bar(value – > model.setB(value),bObject);到bar(model :: setB,bObject).我认为这看起来更好,更简洁,但我还没有找到一种方法将setA方法重写为double :: notation.任何人都可以告诉我这是否可能,如果可以的话:这怎么可能?