相关疑难解决方法(0)

为什么Stream没有toList()方法?

使用Java 8流时,采用列表,从中创建流,执行业务并将其转换回来是很常见的.就像是:

 Stream.of(-2,1,2,-5)
        .filter(n -> n > 0)
        .map(n -> n * n)
        .collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)

为什么' .collect(Collectors.toList())'部分没有捷径/方便的方法?在Stream接口上,有将方法转换为数组的方法toArray(),为什么toList()缺少?

恕我直言,将结果转换为列表比数组更常见.我可以忍受这一点,但称这种丑陋是令人讨厌的.

有任何想法吗?

java java-8 java-stream

34
推荐指数
3
解决办法
4114
查看次数

Java 8:使用流转换日期

我正在尝试动态转换日期.我试过这个方法,但它返回无效.

如何使它成为一个LocalDate对象数组?

String[] datesStrings = {"2015-03-04", "2014-02-01", "2012-03-15"};
LocalDate[] dates = Stream.of(datesStrings)
                          .forEach(a -> LocalDate.parse(a)); // This returns void so I
                                                             // can not assign it.
Run Code Online (Sandbox Code Playgroud)

java date java-8 java-stream

4
推荐指数
1
解决办法
1036
查看次数

使用java 8从另一个列表中获取对象列表

List<Customer> customers = findAllCustomer();   

public class Customer implements Serializable {

    private State state;

    //getter and setter
Run Code Online (Sandbox Code Playgroud)

我在下面使用jdk 7接近了

List<State> states = new ArrayList<>();

for (Customer customer : customers) {
    states.add(customer.getState());
}   
Run Code Online (Sandbox Code Playgroud)

如何使用jdk 8实现相同的功能?

java

-1
推荐指数
1
解决办法
94
查看次数

标签 统计

java ×3

java-8 ×2

java-stream ×2

date ×1