姬長信(Redy)

JPA的Java Lambda迭代列表[复制]


参见英文答案 > Why does this stream return no element?????????????????????????????????????1个
我在使用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工作得很好,所有关系都很好…… ?

提前致谢 :).