我正在使用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);
}
Run Code Online (Sandbox Code Playgroud)
我已阅读在这里,有可能改写bar(value -> model.setB(value), bObject);到bar(model::setB, bObject).我认为这看起来更好,更简洁,但我还没有找到一种方法将setA方法重写为double …
我目前正在向现有的 Laravel 应用程序添加功能。这个问题对 SO 来说可能太微不足道了,但我真的很感激快速回答,因为我自己在谷歌搜索和尝试不同的选项后还没有找到它:
我想调用这个JS函数:
function editItem(id, field_editable) {
我试图称呼它的方式是:
<a ... onClick="editItem({{$item["id"]}}, {{$item["status"] == "init"}})">Edit</a>
但这行不通。它曾经在只传递和请求一个参数 (id) 时工作。