【发布时间】:2019-04-07 18:51:58
【问题描述】:
我有方法:
public static <T> Stream<T> stream(JSONArray array) {
return IntStream.range(0, array.length()).mapToObj(i -> {
try {
return (T) array.get(i);
} catch (JSONException e) {
return null;
}
});
}
当我这样称呼它时:stream(array).map((JSONObject object) -> { /* ... */ }),我得到错误
无法推断功能接口类型
而且,stream<JSONObject>(array).map(object -> { /* ... */ }) 不起作用。
stream(array).map(object -> { /* ... */ }) 有效,但 object 只是 Object
【问题讨论】:
-
如果您需要帮助,请发布一个完整的最小示例来重现问题。
-
这正是我所做的。
-
您需要使用
mapToObj来获取对象流。使用 map 仍然返回IntStream。 -
然后你可以删除整行:反正你永远不会对流做任何事情。
-
@Andronicus 我正在使用
mapToObj...
标签: java generics type-inference