Unterschied zwischen Java 7 und 8 (Programmiersprache)
4 Antworten
![](https://images.gutefrage.net/media/user/Zelphir/1444748091_nmmslarge.jpg?v=1444748091000)
Neben Lambda Expressions gibt es nun auch die Stream API, die bei der Parallelisierung von Schleifen hilft. Beides laesst sich auch gut in Kombination verwenden.
![](https://images.gutefrage.net/media/default/user/13_nmmslarge.png?v=1551279448000)
Meistens unterscheiden sich die Java-Versionen "nur" in der Klassenbibliothek: Neuere Java-Versionen haben mehr Klassen als alte. So gab es in alten Java-Versionen den "BufferedReader" noch nicht, weswegen es (ohne zusätzliche Bibliotheken zu verwenden) sehr kompliziert war, einen Wert von der Tastatur einzulesen.
Die Java-Sprache ändert sich nur wenig:
Mit Java 5 kam zum Beispiel die foreach-Schleife hinzu:
for(int myNumber : myArray)
Mit Java 8 kommt die Lambda-Schreibweise hinzu:
myList.forEach(wert -> System.out.println(wert));
Beide Features sind jedoch nur vereinfachte Schreibweisen für Features, die es auch vorher schon gab.
Wirklich neu in Java 8 sind "default"-Methoden in Interfaces.
![](https://images.gutefrage.net/media/user/JavaTheHutt/1444749950_nmmslarge.jpg?v=1444749950000)
Die Ausgabe der Zeilen kann vereinfacht werden:
myList.forEach(System.out::println);
Lambdas sind eine Veränderung für die Java VM. Damit kann man dynamisch Methoden aufrufen (lassen). Das Schlüsselwort invokedynamic ist neu hinzugekommen (nicht in Java als Sprache, sondern in der JVM).
![](https://images.gutefrage.net/media/user/omercan08/1433062988601_nmmslarge.jpg?v=1433062986000)
Gibts nicht? Java ist java. Diese updates sind nur dafür da die Handys up to date zz halten
![](https://images.gutefrage.net/media/default/user/15_nmmslarge.png?v=1551279448000)
![](https://images.gutefrage.net/media/default/user/11_nmmslarge.png?v=1551279448000)