Rumah  >  Artikel  >  Java  >  Kelas pilihan dalam Java 8: Bagaimana untuk menapis kemungkinan nilai nol menggunakan kaedah penapis().

Kelas pilihan dalam Java 8: Bagaimana untuk menapis kemungkinan nilai nol menggunakan kaedah penapis().

王林
王林asal
2023-08-01 17:27:231459semak imbas

Kelas pilihan dalam Java 8: Cara menapis nilai berpotensi nol menggunakan kaedah penapis()

Di Java 8, kelas Pilihan ialah alat yang sangat berguna yang membolehkan kami mengendalikan nilai yang berpotensi nol dengan lebih baik dan mengelakkan NullPointerException berlaku . Kelas Pilihan menyediakan banyak kaedah untuk memanipulasi nilai null yang berpotensi, salah satu kaedah penting ialah penapis(). Fungsi kaedah

filter() ialah jika nilai objek Pilihan wujud dan memenuhi syarat yang diberikan, objek Pilihan itu sendiri dikembalikan jika nilai tidak wujud atau syarat tidak dipenuhi, objek Pilihan kosong dikembalikan.

Contoh kod berikut menunjukkan cara menggunakan kaedah penapis() untuk menapis nilai berpotensi nol:

import java.util.Optional;

public class OptionalFilterExample {

    public static void main(String[] args) {
        String name = "John Doe";
        Optional<String> nameOptional = Optional.ofNullable(name);

        // 使用filter()方法过滤值为空的Optional对象
        Optional<String> filteredOptional = nameOptional.filter(n -> n.length() > 5);

        if (filteredOptional.isPresent()) {
            System.out.println("Name is longer than 5 characters");
        } else {
            System.out.println("Name is either null or shorter than 5 characters");
        }
    }
}

Dalam contoh di atas, kami mula-mula mencipta nama objek Pilihan bukan nolPilihan dengan nilai "John Doe". Kemudian, kami menggunakan kaedah penapis(), menghantar syarat n -> n.length() > 5 kepadanya. Keadaan ini menyemak sama ada panjang rentetan lebih daripada 5. Jika syarat dipenuhi, kaedah penapis() mengembalikan objek Pilihan yang mengandungi nilai yang sama jika tidak, ia mengembalikan objek Pilihan kosong.

Akhir sekali, kami menggunakan kaedah isPresent() untuk menyemak sama ada objek Pilihan yang ditapis mengandungi nilai dan mengeluarkan maklumat yang sepadan berdasarkan hasilnya.

Dalam pembangunan sebenar, kita selalunya perlu menapis nilai yang mungkin kosong. Menggunakan kaedah penapis(), kita boleh menyelesaikan tugas ini dengan ringkas. Berikut ialah contoh lain yang menunjukkan cara menapis integer yang lebih besar daripada 10 dalam senarai:

import java.util.ArrayList;
import java.util.List;
import java.util.Optional;

public class OptionalFilterListExample {

    public static void main(String[] args) {
        List<Integer> numbers = new ArrayList<>();
        numbers.add(5);
        numbers.add(15);
        numbers.add(8);
        numbers.add(20);

        List<Integer> filteredNumbers = new ArrayList<>();

        for (Integer number : numbers) {
            Optional<Integer> optionalNumber = Optional.ofNullable(number);
            optionalNumber.filter(n -> n > 10).ifPresent(filteredNumbers::add);
        }

        System.out.println(filteredNumbers);
    }
}

Dalam contoh di atas, kami mula-mula mencipta senarai integer, nombor, yang mengandungi beberapa nombor. Kami kemudian menggunakan gelung untuk-setiap untuk mengulangi setiap elemen dalam senarai dan membungkusnya ke dalam objek Pilihan.

Seterusnya, kami menggunakan kaedah penapis() untuk menapis nombor yang lebih besar daripada 10, dan menggunakan kaedah ifPresent() untuk menambah nombor yang ditapis pada senarai Nombor yang ditapis.

Akhir sekali, kami mengeluarkan senarai Nombor yang ditapis, yang mengandungi semua nombor yang ditapis.

Dengan menggunakan kaedah penapis() kelas Pilihan, kami boleh menapis kemungkinan nilai nol dengan lebih ringkas, mengelakkan semakan dan situasi nol yang menyusahkan yang mungkin menyebabkan NullPointerException. Ini menjadikan kod kami lebih mantap dan boleh dibaca. Adalah disyorkan untuk menggunakan sepenuhnya pelbagai kaedah kelas Pilihan dalam pembangunan untuk meningkatkan kualiti kod dan kecekapan pembangunan.

Atas ialah kandungan terperinci Kelas pilihan dalam Java 8: Bagaimana untuk menapis kemungkinan nilai nol menggunakan kaedah penapis().. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn