我无法访问以下代码段:
prices = pricesService.getProductsByCategory(category);
List<Double> discountedPrices =
Lists.newArrayList(Iterables.transform(prices, new Function<Double, Double>() {
public Double apply(final Double from) {
return from *.88;
}
}));
Run Code Online (Sandbox Code Playgroud)
我知道代码的结果是什么,并且它在单元测试中是正确的,但我不太熟悉番石榴或者这个实现如何/为什么有效.目前,如果列表'价格'中存在空值,它似乎也不安全吗?所以我追求的是:
它创建了一个新的双打列表,原始值为0.88*.
结构是:
匿名内部阶级
这是一种有时在Java中完成回调/闭包的方法.另见Java教程.
new Function<Double, Double>() {
public Double apply(final Double from) {
return from *.88;
}
}
Run Code Online (Sandbox Code Playgroud)
使用上述函数回调
Iterables.transform(prices, *func*)
Run Code Online (Sandbox Code Playgroud)
将结果转换为ArrayList
以上结果是Iterable,所以需要将其存储到列表中.另请参见Lists.newArrayList与新ArrayList
Lists.newArrayList( ... )
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
250 次 |
| 最近记录: |