Java 8 Tutorial - Fitur Baru Yang Ditambahkan ke java 8

Tags

JAVA 8 (jdk 1.8) adalah rilis utama pengembangan bahasa pemrograman java. Versi awalnya dirilis pada tanggal 18 Maret 2014. Dengan rilis Java 8, Java menyediakan dukungan untuk pemrograman fungsional, mesin JavaScript baru, API baru untuk manipulasi waktu tanggal, API streaming baru, dll.

Fitur Baru Yang Ditambahkan ke java 8

Fitur Java 8

Terdapat puluh fitur yang ditambahkan ke java 8, berikut fitur fitur yang paling signifikan :

  • Lambda expression - Menambahkan kemampuan pemrosesan fungsional ke Java.
  • Method references - Mengacu fungsi dengan memanggil secara langsung. Menggunakan fungsi sebagai parameter.
  • Default method - Interface memiliki implementasi metode default.
  • New tools - Alat dan utilitas kompiler baru ditambahkan seperti 'jdeps' untuk mengetahui dependensi.
  • Stream API - Stream API baru untuk memfasilitasi proses pipeline.
  • Date Time API - peningkatan pada date time API.
  • Optional - Penekanan pada praktik terbaik untuk menangani nilai null dengan benar.
  • Nashorn, JavaScript Engine - Mesin berbasis Java untuk mengeksekusi kode JavaScript.

Seiring dengan fitur baru ini, banyak peningkatan fitur dilakukan pada tingkat kompilator dan JVM.

Gaya Pemrograman

Java 8 diharapkan bisa mengubah cara programmer mengkode programnya. Untuk perbandingan singkat antara Java 7 dan Java 8, mari kita lihat program pengurutan yang ditulis dengan sintaks Java 7 dan Java 8.

Berikut ini contoh program perbandingan antara Java 7 dan Java 8 :

Contoh Program Java 7

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

/**
 *
 * @author Akira
 */
public class ContohJava7 {
    public static void main(String[] args){
        List<String> name = new ArrayList<>();
        name.add("Eris");
        name.add("Natsuki");
        name.add("Kevin");
        name.add("Dedi Diantoro");
        name.add("Akira");
        
        ContohJava7 obj = new ContohJava7();
        obj.sortingJava7(name);
        System.out.println(name);
    }
    
    private void sortingJava7(List<String> list){
        Collections.sort(list, new Comparator<String>() {
            @Override
            public int compare(String s1, String s2) {
                return s1.compareTo(s2);
            }
        });
    }
}

Output : [Akira, Dedi Diantoro, Eris, Kevin, Natsuki]

Contoh Program Java 8

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

/**
 *
 * @author Akira
 */
public class ContohJava8 {
    public static void main(String[] args){
        List<String> name = new ArrayList<>();
        name.add("Natsuki");
        name.add("Dedi Diantoro");
        name.add("Kevin");
        name.add("Eris");
        name.add("Akira");
        
        ContohJava8 obj = new ContohJava8();
        obj.sortingJava8(name);
        System.out.println(name);
    }
    
    private void sortingJava8(List<String> list){
        Collections.sort(list, (s1, s2) -> s1.compareTo(s2));
    }
}

Output : [Akira, Dedi Diantoro, Eris, Kevin, Natsuki]

Disini method sortingJava8() menggunakan fungsi sort dengan Lambda expression sebagai parameter untuk mendapatkan kriteria pemilahan.

Copyrighted.com Registered & Protected 
QP5X-VCCF-SNJG-QGCH


EmoticonEmoticon