参见英文答案 > Why does this stream return no element?????????????????????????????????????1个
我在使用lambda和JPA时发现了一些奇怪的行为,似乎java 8 lambda在从另一个对象获取列表时不会迭代.
我在使用lambda和JPA时发现了一些奇怪的行为,似乎java 8 lambda在从另一个对象获取列表时不会迭代.
例如:
List list = anotherObject.getMyObjectList(); // Get The List
list.foreach(myobject -> System.out.println("NOT PRINTED"));
System.out.println("Size?: " + list.size()); // Print The Size = 2
我尝试使用list.stream().foreach()获得相同的结果..
经过几个小时的测试,我发现了一个技巧
List copyList = new ArrayList<>(list); // copy The List
copyList.foreach(myobject -> System.out.println("OMG IS PRINTED!"));
咦?任何想法?,这是一个错误吗?或者我做错了什么?
我的实体Clases工作得很好,所有关系都很好…… ?
提前致谢 :).