Java 8 ciri baharu


Java 8 (juga dikenali sebagai jdk 1.8) ialah versi utama pembangunan bahasa Java. Oracle mengeluarkan Java 8 pada 18 Mac 2014, yang menyokong pengaturcaraan berfungsi, enjin JavaScript baharu, API tarikh baharu, API Strim baharu, dsb.


Ciri baharu

Java8 telah menambah banyak ciri baharu, terutamanya kami membincangkan ciri berikut:

  • Ekspresi Lambda Formula − Lambda membenarkan fungsi digunakan sebagai parameter kaedah (fungsi dihantar ke kaedah sebagai parameter.

  • Rujukan kaedah − Rujukan kaedah menyediakan sintaks yang sangat berguna, anda boleh merujuk secara langsung kaedah atau pembina kelas atau objek Java (contoh) Digunakan bersama lambda, rujukan kaedah boleh menjadikan pembinaan bahasa lebih padat dan ringkas, mengurangkan kod berlebihan >

    Kaedah lalai
  • − Kaedah lalai ialah kaedah yang mempunyai pelaksanaan dalam antara muka
  • Alat baharu
  • − Alat kompilasi, seperti sebagai: Nashorn engine jjs, class dependency analyzer jdeps Gaya pengaturcaraan berfungsi diperkenalkan ke dalam Java
  • API Masa Tarikh − Meningkatkan pemprosesan tarikh dan masa 🎜>

    Kelas pilihan
  • − Kelas pilihan telah menjadi sebahagian daripada perpustakaan kelas Java 8 untuk menyelesaikan pengecualian penuding nol
  • Nashorn, enjin JavaScript
  • − Java 8 menyediakan javascript Nashorn baharu enjin, yang membolehkan kami menjalankan aplikasi javascript tertentu pada JVM
  • Untuk lebih banyak ciri baharu, sila rujuk laman web rasmi:

    Apa yang Baharu dalam JDK 8
  • Dalam contoh dalam artikel Java 8, kita semua menggunakan persekitaran jdk 1.8 Anda boleh menggunakan arahan berikut untuk melihat versi jdk semasa:

    $ 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)

    Gaya Pengaturcaraan<🎜. >
  • Java 8 berharap untuk mempunyai gaya pengaturcaraan sendiri dan membezakannya daripada Java 7. Contoh berikut menunjukkan format pengaturcaraan Java 7 dan 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));
       }
    }

    Laksanakan skrip di atas, hasil output ialah :

    $ javac Java8Tester.java
    $ java Java8Tester
    使用 Java 7 语法: 
    [Baidu , Google , php , Sina , Taobao ]
    使用 Java 8 语法: 
    [Baidu , Google , php , Sina , Taobao ]
    Seterusnya kami akan memperkenalkan anda kepada ciri baharu Java 8 secara terperinci: