【发布时间】:2022-01-14 11:47:59
【问题描述】:
找不到任何关于此的文章。如果我们使用它有什么影响:
Fruit fruit = fruits.get(0);
FruitDto dto = new FruitDto();
dto.setPrice(fruit.getPrice());
dto.setType(fruit.getType());
... eg to set 10 properties using fruit.getSomeProperty
相比:
FruitDto dto = new FruitDto();
dto.setPrice(fruits.get(0).getPrice());
dto.setType(fruits.get(0).getType());
... eg to set 10 properties using fruits.get(0).getSomeProperty
如果我们使用fruits.stream().findFirst() 而不是get(0) 有什么好处吗?
【问题讨论】:
-
性能差异可能很小,但由于第一个变体兼具可读性和潜在效率,为什么不直接使用它呢?
fruits.stream().findFirst()强制您在列表为空时处理可能不存在的值。但是当你知道列表不为空时,get(0)显然更简单。甚至if(!fruits.isEmpty()) { … fruits.get(0) … }也可能比引入 Stream 操作更简单。
标签: java collections java-stream