-1
我有一个像下面的lambda表达式。我想问的是铸造方法参数有没有简单的方法或最佳做法?如何投射lambda方法参数?
results.forEach(
(result) ->
{
((JSONObject)result).put("test", "test");
((JSONObject)result).put("time", System.currentTimeMillis());
otherList.add(((JSONObject)result));
}
);
当我试图改变输入型像
(JSONObject result) ->
我得到下面的错误;
incompatible types: Consumer<JSONObject> cannot be converted to Consumer<? super Object>
由于有消息称,这些类型不兼容。为什么不引入一个局部变量? –
@OliverCharlesworth起初我认为(创建一个新的局部变量)但是如果我有5-6个输入呢?我是否需要为它们创建一个新的变量? – hellzone
这个问题不是lambda表达式的唯一 - 它适用于任何方法。 (也就是说,如果你有5-6输入的拉姆达,奇怪的事情大概是怎么回事!) –