EDIT gefunden http://www.dreamsyssoft.com/java-8-lambda-tutorial/map-reduce-tutorial.phpJava 8 Summe und insgesamt nicht
Ich folge diesem Tutorial:
http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/Lambda-QuickStart/index.html
Als ich zum Teil, wo es um die Summe ist mit und durchschnittliche Funktionen, bekomme ich den folgenden Fehler:
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>
Ich bekomme den gleichen Fehler beim Aufruf der Summe. Aus irgendeinem Grund scheint es, dass es den Stream anstelle der DoubleStream-Klasse verwendet. Ich benutze die neueste jdk mit Lambda aktiviert, die im Tutorial verlinkt ist.
Hat jemand dieses Problem auch getroffen und konnte es lösen?
Hier ist ein einfaches Beispiel, das das Problem reproduziert:
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, ich dachte, wir müssten bis September warten, um mit JDK 8 zu spielen. –
Sie können eine frühe Freigabe erhalten – BevynQ
Wenn Sie mit einer frühen Version arbeiten, ist es vielleicht besser, Fragen/Bedenken zu einer JDK 8 spezifischen Hilfe zu stellen Forum .... –