Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> Java

Java 10 - Nieuwe API's en opties

JDK 10-release heeft 70+ nieuwe API's en opties toegevoegd aan de Java-bibliotheek. Hieronder volgen enkele van de belangrijke verbeteringen die zijn geïntroduceerd.

Optional.orElseThrow() Methode

Een nieuwe methode orElseThrow() is beschikbaar in java.util.Optional klasse die nu een voorkeursalternatief is voor get() methode.

API's om niet-aanpasbare collecties te maken

Een nieuwe methode copyOf() is beschikbaar in de interfaces List, Set en Map waarmee nieuwe verzamelingsinstanties kunnen worden gemaakt op basis van een bestaande. De klasse Collector heeft nieuwe methoden toUnmodifiableList(), toUnmodifiableSet() en toUnmodifiableMap() om elementen van een stream in een niet-wijzigbare verzameling te krijgen.

Bijhouden van laatste gebruik JRE uitschakelen

Er wordt een nieuwe vlag geïntroduceerd jdk.disableLastUsageTracking die het volgen van het laatste gebruik van JRE voor een draaiende VM uitschakelt.

Gehashed wachtwoord

De wachtwoorden in platte tekst die beschikbaar zijn in het bestand jmxremote.password worden nu door de JMX-agent overschreven met hun SHA3-512-hash.

javadoc-ondersteuning voor meerdere stylesheets

Een nieuwe optie is beschikbaar voor het javadoc-commando als --add-stylesheet. Deze optie ondersteunt het gebruik van meerdere stylesheets in gegenereerde documentatie.

javadoc-ondersteuning voor overschrijvende methoden

Een nieuwe optie is beschikbaar voor het javadoc-commando als --overridden-methods=value. Zoals veel klassen overgenomen methoden overschrijven, maar de specificatie niet wijzigen. Met de optie --overridden-methods=value kunnen deze methoden worden gegroepeerd met andere overgeërfde methoden, in plaats van ze opnieuw afzonderlijk te documenteren.

javadoc-ondersteuning voor samenvatting

Er is een nieuwe inline-tag, {@summary ...}, beschikbaar om de tekst op te geven die moet worden gebruikt als samenvatting van de API-beschrijving. Standaard wordt de samenvatting van een API-beschrijving afgeleid uit de eerste zin.

Voorbeeld

Het volgende programma toont het gebruik van enkele van de nieuwe API's in JAVA 10.

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 {
         // get an unmodifiable list
         List<Integer> copyOfIds = List.copyOf(ids);
         copyOfIds.add(6);	
      } catch(UnsupportedOperationException e){
         System.out.println("Collection is not modifiable.");
      }
      try{
         // get an unmodifiable list
         List<Integer> evenNumbers = ids.stream()
            .filter(i -> i % 2 == 0)
            .collect(Collectors.toUnmodifiableList());;
         evenNumbers.add(6);	
      }catch(UnsupportedOperationException e){
         System.out.println("Collection is not modifiable.");
      }
   }
}

Uitvoer

Het zal de volgende uitvoer afdrukken.

Collection is not modifiable.
Collection is not modifiable.

Java

  1. Java-operators
  2. Java-opmerkingen
  3. Java voor elke lus
  4. Java-strings
  5. Java-interface
  6. Java anonieme klasse
  7. Java proberen-met-bronnen
  8. Java-annotaties
  9. Java-beweringen
  10. Java autoboxing en unboxing
  11. Java 10 - Nieuwe API's en opties