Java 10: 70+ nieuwe API's & features uitgelegd
JDK 10 heeft 70+ nieuwe API's en opties toegevoegd aan de Java-bibliotheek. Hier zijn enkele belangrijke verbeteringen:
Optional.orElseThrow() methode
Een nieuwe methode orElseThrow() in java.util.Optional is nu de voorkeursalternatief voor de get()-methode.
API's voor onveranderlijke collecties
Een nieuwe methode copyOf() is beschikbaar in de interfaces List, Set en Map om nieuwe collectie-instanties te maken vanuit een bestaande. De Collector-klasse heeft nieuwe methoden toUnmodifiableList(), toUnmodifiableSet() en toUnmodifiableMap() om elementen van een stream in een onveranderlijke collectie te verzamelen.
JRE Last Usage Tracking uitschakelen
Een nieuwe vlag jdk.disableLastUsageTracking schakelt JRE-laatste-gebruikstracking uit voor een draaiende VM.
Gehasheerde wachtwoorden
De platte-tekst wachtwoorden in het jmxremote.password-bestand worden nu overschreven met hun SHA3-512-hash door de JMX-agent.
Javadoc-ondersteuning voor meerdere stylesheets
Een nieuwe optie --add-stylesheet voor het javadoc-commando maakt het gebruik van meerdere stylesheets in gegenereerde documentatie mogelijk.
Javadoc-ondersteuning voor overriden methodes
Een nieuwe optie --overridden-methods=value groepeert overriden methodes met overgeërfde methodes in plaats van ze apart te documenteren.
Javadoc-ondersteuning voor samenvatting
Een nieuwe inline-tag {@summary ...} stelt u in staat de tekst op te geven die als samenvatting van de API-beschrijving dient. Standaard wordt de samenvatting afgeleid van de eerste zin.
Voorbeeld
Programma dat enkele nieuwe API's demonstreert:
import java.util.List;
import java.util.stream.Collectors;
public class Tester {
public static void main(String[] args) {
var ids = List.of(1, 2, 3, 4, 5);
try {
List<Integer> copyOfIds = List.copyOf(ids);
copyOfIds.add(6);
} catch(UnsupportedOperationException e) {
System.out.println("Collectie is niet wijzigbaar.");
}
try {
List<Integer> evenNumbers = ids.stream()
.filter(i -> i % 2 == 0)
.collect(Collectors.toUnmodifiableList());
evenNumbers.add(6);
} catch(UnsupportedOperationException e) {
System.out.println("Collectie is niet wijzigbaar.");
}
}
}
Uitvoer
Collectie is niet wijzigbaar. Collectie is niet wijzigbaar.
Java
- Java-operators beheersen: typen, syntax en praktische voorbeelden
- Java-commentaar: typen, gebruik en best practices
- Java Enhanced For-lus beheersen: syntax, voorbeelden en best practices
- Java Strings beheersen: aanmaken, methodes en best practices
- Java interfaces meesteren: concepten, implementatie en best practices
- Java anonieme inner classes meesteren: definitie, syntax en praktische voorbeelden
- Java Try-with-resources meesteren: automatische resource management uitgelegd
- Java Annotaties uitgelegd: typen, plaatsing en praktische voorbeelden
- Java Assertions: een praktische gids voor bugdetectie en codebetrouwbaarheid
- Java Autoboxing en Unboxing: Praktische voorbeelden en best practices
- Java 10: 70+ nieuwe API's & features uitgelegd