Nouvelles fonctionnalités de Java 8


Java 8 (également connu sous le nom de jdk 1.8) est une version majeure du développement du langage Java. Oracle a publié Java 8 le 18 mars 2014, qui prend en charge la programmation fonctionnelle, un nouveau moteur JavaScript, une nouvelle API de date, une nouvelle API Stream, etc.


Nouvelles fonctionnalités

Java8 a ajouté beaucoup de nouvelles fonctionnalités, nous abordons principalement les suivantes :

  • Expression Lambda Formule - Lambda permet à la fonction d'être utilisée comme paramètre d'une méthode (la fonction est passée dans la méthode en tant que paramètre.

  • Référence de la méthode − La référence de méthode fournit une syntaxe très utile, vous pouvez référencer directement des méthodes ou des constructeurs de classes ou d'objets Java existants (instances). Utilisées en conjonction avec lambda, les références de méthode peuvent rendre la construction du langage plus compacte et concise, réduisant ainsi le code redondant. >

    Méthode par défaut
  • − Une méthode par défaut est une méthode qui a une implémentation dans l'interface
  • Nouvel outil
  • − Nouveaux outils de compilation, tels. comme : moteur Nashorn jjs, analyseur de dépendance de classe jdeps Le style de programmation fonctionnelle est introduit dans Java
  • API Date Time - Améliore le traitement des dates et des heures 🎜>

    Classe facultative.
  • − La classe facultative fait désormais partie de la bibliothèque de classes Java 8 pour résoudre les exceptions de pointeur nul
  • Nashorn, moteur JavaScript
  • − Java 8 fournit un nouveau javascript Nashorn moteur, qui nous permet d'exécuter des applications javascript spécifiques sur la JVM
  • Pour plus de nouvelles fonctionnalités, veuillez vous référer au site officiel :

    Quoi de neuf dans JDK 8
  • Dans les exemples de l'article Java 8, nous utilisons tous l'environnement jdk 1.8. Vous pouvez utiliser la commande suivante pour afficher la version actuelle de jdk :

    $ java -version
    java version "1.8.0_31"
    Java(TM) SE Runtime Environment (build 1.8.0_31-b13)
    Java HotSpot(TM) 64-Bit Server VM (build 25.31-b07, mixed mode)

    Style de programmation<🎜. >
  • Java 8 espère avoir son propre style de programmation et le distinguer de Java 7. Les exemples suivants montrent les formats de programmation de Java 7 et Java 8 :
  • import java.util.Collections;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Comparator;
    
    public class Java8Tester {
       public static void main(String args[]){
       
          List<String> names1 = new ArrayList<String>();
          names1.add("Google ");
          names1.add("php ");
          names1.add("Taobao ");
          names1.add("Baidu ");
          names1.add("Sina ");
    		
          List<String> names2 = new ArrayList<String>();
          names2.add("Google ");
          names2.add("php ");
          names2.add("Taobao ");
          names2.add("Baidu ");
          names2.add("Sina ");
    		
          Java8Tester tester = new Java8Tester();
          System.out.println("使用 Java 7 语法: ");
    		
          tester.sortUsingJava7(names1);
          System.out.println(names1);
          System.out.println("使用 Java 8 语法: ");
    		
          tester.sortUsingJava8(names2);
          System.out.println(names2);
       }
       
       // 使用 java 7 排序
       private void sortUsingJava7(List<String> names){   
          Collections.sort(names, new Comparator<String>() {
             @Override
             public int compare(String s1, String s2) {
                return s1.compareTo(s2);
             }
          });
       }
       
       // 使用 java 8 排序
       private void sortUsingJava8(List<String> names){
          Collections.sort(names, (s1, s2) -> s1.compareTo(s2));
       }
    }

    Exécutez le script ci-dessus, le résultat de sortie est :

    $ javac Java8Tester.java
    $ java Java8Tester
    使用 Java 7 语法: 
    [Baidu , Google , php , Sina , Taobao ]
    使用 Java 8 语法: 
    [Baidu , Google , php , Sina , Taobao ]
    Ensuite, nous vous présenterons en détail les nouvelles fonctionnalités de Java 8 :