Java中是否有数组的autostream扩展?

Java中是否有数组的autostream扩展?,java,java-8,Java,Java 8,有一种方法可以对数组进行流式处理:Arrays.stream(myArr),但这会使代码有点难以读取。 有没有像Lombok这样的扩展来避免和最小化对myArr.stream(),或者更好的是对myArr.filter(…)或myArr.forEach(…)?不确定您为什么认为数组。stream不可读。但另一种选择是流.of。例如,Stream.of(myarr)可以接受吗?您可以使用lombok添加一个。例如(未经测试): 您可以用同样的方法定义自己的forEach()扩展方法。Arrays.

有一种方法可以对数组进行流式处理:
Arrays.stream(myArr)
,但这会使代码有点难以读取。
有没有像Lombok这样的扩展来避免和最小化对
myArr.stream()
,或者更好的是对
myArr.filter(…)
myArr.forEach(…)

不确定您为什么认为
数组。stream
不可读。但另一种选择是
流.of
。例如,
Stream.of(myarr)
可以接受吗?

您可以使用lombok添加一个。例如(未经测试):


您可以用同样的方法定义自己的
forEach()
扩展方法。

Arrays.stream是从数组获取流的正确机制。Arrays类是用于处理数组的帮助器类。如果您不喜欢这样,请避免使用数组,并使用java Collections API。java.util.Collection包含
stream()
非java格式。当然,你可以做些别的事情(比如龙目山)。。。但是你不是在使用真正的Java,可读性不在作者的眼中,而是一个有着新鲜眼光的读者
Arrays.stream()
实际上在Java中有一个含义,
Arrays.stream()
的规范很容易获得(如果读者还不知道的话)。而monkey通过某种语言外机制(比如Lombok)将
stream()
方法修补到数组上这意味着您的读者必须先阅读您的整个程序,然后才能理解这段简单代码的作用。@BrianGoetz OP显然是在寻求一种语言外的解决方案,这正是我所提供的。这是个问题吗?
@ExtensionMethod(java.util.Arrays.class)
public class Example {
    String[] myArr = {"A", "B", "C"};
    myArr.stream().forEach(System.out::println);
}