我想声明一个接受3个参数的函数,并像这样返回一个自定义对象
public static returnResult leadRatingFunction(LeadMaster lead,JSONObject json,String str)
{
}
// Where returnResult and LeadMaster are custom objects
我在功能界面中声明了这个功能如下,
@SuppressWarnings("hiding")
@FunctionalInterface
interface Function
{
public returnResult apply(LeadMaster lead,JSONObject jsonObject,String str);
}
我想将此函数用作这样的哈希映射值,
Map> commands = new HashMap<>();
commands.put("leadRating",res -> leadRatingFunction(input1 ,input2 ,input3) ) ;
但它给出了错误,因为“Lambda表达式的签名与应用的功能接口方法的签名不匹配(LeadMaster,JSONObject,String)”
谢谢
解决方法:
与Function< LeadMaster,JSONObject,String,returnResult>匹配的lambda表达式需要三个参数:
Map> commands = new HashMap<>();
commands.put("leadRating",(a,b,