Kann mithilfe der funktionellen Operationen

Ich bin mit der for-each-Konstrukt in Java wie folgt:

public int getNumRStations() {
    int numRoutes = 0;

    for (ArrayList<Route> route : routes) {
        numRoutes += route.size();
    }

    return numRoutes;
}

NetBeans zeigt eine Warnung/Hinweis, der besagt "verwenden Können, funktionalen Operationen". Auf automatisch zu lösen, werden die neu generierten code zeigt dies:

public int getNumRStations() {
    int numRoutes = 0;

    numRoutes = routes.stream().map((route) -> route.size()).reduce(numRoutes, Integer::sum);

    return numRoutes;
}
  1. Warum ist NetBeans Warnung, mir dieses? Ich weiß, ich bin eigentlich nicht blind Vertrauen, IDEs, so dass ist, warum ich Frage.
  2. Was ist diese neue Zeile machen soll? Ich haben nichts gesehen, wie es im wirklichen Leben oder in der Klasse.
  • Das neue Java 8 API und lambda-Ausdruck.
  • Sie sind bereits aktualisiert auf java 8?
  • Die IDE ist ziemlich Gott verdammt smart.
  • Ist das tatsächlich eine Verbesserung? Scheint schwieriger zu Lesen, mehr zu geben, und nicht schneller laufen.
  • Die Warnung ist nur mit der code-Stil, und in diesem Fall scheint es, Sie wollen es nicht. Wahrscheinlich können Sie es deaktivieren, irgendwo.
  • Es ist nicht so, dass ich will es nicht, ich versuche zu lernen, was es ist und ob es angemessen ist, den neuen Stil (Effizienz, Wartbarkeit betrifft, etc).

Schreibe einen Kommentar