如何将此语句从经典java转换为android
Collection<Integer> p1;
int sum = p1.stream().mapToInt(Integer::intValue).sum();
我将Java 8和lambda集成到我的android应用程序中,但它仍然不起作用。在android中找不到方法stream()。
你能帮帮我吗?答案 0 :(得分:5)
您可以使用streamsupport库将流API反向移植到Java 6/7,该库可用于Android开发,并支持所有设备。
Afaik,这个库完全向后移植Java 8中的原始实现,并使其在单独的包中提供(前缀为java8。)。 Collection接口上添加的默认方法(例如#stream(),#forEach())可以从单独的实用程序类中获得,例如Iterables或StreamSupport。
答案 1 :(得分:0)
Stream API包含在最新版本的Android 7.0 SDK Platform(API 24)中:
public interface Collection<E> extends Iterable<E> {
// .. redacted
default Stream<E> stream() { .. }
}
请注意,要使用它,您必须将minSdkVersion
设置为24。