OCP学习书中有一行代码我不太理解。事情是这样的:
Stream<String> infinite = Stream.generate(() -> "chimp");
这会创建一个仅包含一个名为 chimp 的元素的无限流,还是会无限生成 chimp 字符串。谢谢。
最佳答案
Stream java.util.stream.Stream.generate(Supplier s)
Returns an infinite sequential unordered stream where each element is generated by the provided Supplier. This is suitable for generating constant streams, streams of random elements, etc.
它将创建一个无限的Stream
,这意味着 Stream
具有无限数量的元素。所有元素都相同 String
例如,自 "chimp"
将始终返回相同的 String
来自 String
的实例池。
如果你把它改成
Stream<String> infinite = Stream.generate(() -> new String("chimp"));
每个String
此元素 Stream
将是一个独特的实例。
关于java - 这个 Stream 对象是创建无限的黑猩猩对象列表还是只创建一个黑猩猩对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43888918/