hel*_*one 6 java lambda java-8
我有一个如下所示的 lambda 表达式。我想问的是是否有任何简单的方法或最佳实践来转换方法参数?
results.forEach(
(result) ->
{
((JSONObject)result).put("test", "test");
((JSONObject)result).put("time", System.currentTimeMillis());
otherList.add(((JSONObject)result));
}
);
Run Code Online (Sandbox Code Playgroud)
当我尝试更改输入类型时
(JSONObject result) ->
Run Code Online (Sandbox Code Playgroud)
我遇到以下错误;
incompatible types: Consumer<JSONObject> cannot be converted to Consumer<? super Object>
Run Code Online (Sandbox Code Playgroud)
正如Fabian在评论中建议的那样,您可能已经初始化了您的results喜欢List或List<Object>
你能做的是,你能拥有List<JSONObject>
results.forEach(
(result) ->
{
result.put("test", "test");
result.put("time", System.currentTimeMillis());
otherList.add(result);
}
Run Code Online (Sandbox Code Playgroud)