EDIT: Znaleziono rozwiązanie tutaj: http://www.dreamsyssoft.com/java-8-lambda-tutorial/map-reduce-tutorial.phpJava 8 suma i całkowity Nie znaleziono
Obserwuję tym tutorialu:
http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/Lambda-QuickStart/index.html
Kiedy dostać się do części, w której jest za pomocą sumy i średnie funkcje, pojawia się następujący błąd:
UserAverageTest.java:68: error: cannot find symbol
double average = users.parallelStream().filter(u -> u.age > 0).map(u -> u.age).average().getAsDouble();
^
symbol: method average()
location: interface Stream<Double>
Ten sam błąd pojawia się podczas wywoływania sumy. Z jakiegoś powodu wydaje się, że używa on strumienia zamiast klasy DoubleStream. Używam najnowszego jdk z włączoną obsługą lambda, która jest połączona z samouczkiem.
Czy ktoś również trafił w ten problem i był w stanie go rozwiązać?
Oto prosty przykład, który reprodukuje problem:
class User {
double age;
public User(double age) { this.age = age; }
double getAge() { return age; }
}
public static void main(String[] args) throws Exception {
List<User> users = Arrays.asList(new User(10), new User(20), new User(30));
double average = users.parallelStream()
.filter(u -> u.age > 0)
.map(u -> u.age)
.average()
.getAsDouble();
}
Oh wow, myślałem, że musimy poczekać do września, aby porozmawiać z JDK 8. –
Możesz uzyskać wczesny dostęp do wydania – BevynQ
Podczas pracy z wczesnym wydaniem może być lepiej, aby zadać pytania/wątpliwości do konkretnej pomocy JDK 8 forum .... –