Rumah masalah biasa Mengapa instanceof boleh antara muka

Mengapa instanceof boleh antara muka

Nov 13, 2023 pm 03:09 PM
instanceof

instanceof tidak boleh disambungkan. Sebabnya ialah: kata kunci instanceof digunakan untuk menyemak sama ada objek ialah contoh kelas tertentu, dan tidak boleh digunakan secara langsung untuk menyemak sama ada objek ialah contoh antara muka, kerana antara muka tidak boleh digunakan.

Mengapa instanceof boleh antara muka

Sistem pengendalian tutorial ini: sistem Windows 10, komputer Dell G3.

Di Java, kata kunci instanceof digunakan untuk menyemak sama ada objek ialah contoh kelas tertentu. Ia tidak boleh digunakan secara langsung untuk menyemak sama ada objek ialah contoh antara muka kerana antara muka tidak boleh digunakan. Walau bagaimanapun, terdapat beberapa cara tidak langsung untuk menyemak sama ada objek melaksanakan antara muka.

Pertama, kita perlu memahami generik dan pemadaman jenis dalam Java. Di Java, generik ialah mekanisme yang digunakan untuk pemeriksaan jenis pada masa penyusunan Ia membolehkan anda menyemak sama ada pembolehubah, parameter, jenis pemulangan, dll. mematuhi jenis yang ditentukan pada masa penyusunan. Pemadaman jenis ialah mekanisme yang memadamkan maklumat jenis generik pada masa penyusunan, supaya kod masa jalan tidak mengetahui maklumat jenis generik.

Di Java, anda boleh menggunakan pemadaman generik dan taip untuk mencipta koleksi yang boleh menerima sebarang jenis, seperti List. Kami kemudiannya boleh menambah objek yang melaksanakan antara muka pada koleksi. Dalam koleksi, jenis sebenar objek dipadamkan, hanya meninggalkan maklumat yang ia melaksanakan antara muka.

Dengan cara ini, kita boleh menyemak sama ada objek melaksanakan antara muka tertentu pada masa jalan. Sebagai contoh, kita boleh mencipta kaedah yang menerima Senarai sebagai parameter dan berulang melalui senarai, menyemak sama ada setiap objek melaksanakan antara muka yang ditentukan. Jika objek yang melaksanakan antara muka ini ditemui, objek itu boleh dikembalikan jika tidak, nilai nol atau lalai lain boleh dikembalikan.

Berikut ialah kod contoh ringkas yang menunjukkan cara menggunakan generik dan pemadaman jenis untuk menyemak sama ada objek melaksanakan antara muka tertentu:

import java.util.List;  
  
public class InstanceOfInterfaceExample {  
    public static <T> T findFirstInstance(List<Object> list, Class<T> interfaceClass) {  
        for (Object obj : list) {  
            if (interfaceClass.isInstance(obj)) {  
                return interfaceClass.cast(obj);  
            }  
        }  
        return null;  
    }  
}
Salin selepas log masuk

Dalam contoh ini, kaedah findFirstInstance menerima Senarai dan Kelas< ;T> parameter, dengan T ialah jenis antara muka yang akan ditemui. Kaedah ini berulang melalui setiap objek dalam senarai dan menggunakan kaedah Class.isInstance() untuk menyemak sama ada objek itu adalah contoh antara muka yang ditentukan. Jika ya, gunakan kaedah Class.cast() untuk menghantar objek ke objek jenis antara muka yang ditentukan dan mengembalikannya. Jika tiada objek sepadan ditemui, null dikembalikan.

Atas ialah kandungan terperinci Mengapa instanceof boleh antara muka. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah yang dilakukan oleh instanceof? Apakah yang dilakukan oleh instanceof? Nov 14, 2023 pm 03:50 PM

Fungsi instanceof adalah untuk menentukan sama ada objek adalah contoh kelas tertentu, atau sama ada ia melaksanakan antara muka tertentu. instanceof ialah operator yang digunakan untuk menyemak sama ada objek adalah jenis yang ditentukan. Senario penggunaan instanceof operator: 1. Pemeriksaan jenis: boleh digunakan untuk menentukan jenis objek tertentu, untuk melaksanakan logik yang berbeza mengikut jenis yang berbeza 2. Penghakiman antara muka: boleh digunakan untuk menentukan sama ada objek melaksanakan antara muka , untuk menentukan sama ada objek melaksanakan antara muka Definisi antara muka memanggil kaedah yang sepadan 3. Transformasi ke bawah, dsb.

Apakah maksud instanceof dalam java Apakah maksud instanceof dalam java Nov 13, 2023 pm 01:52 PM

Di Java, instanceof ialah operator binari yang digunakan untuk menyemak sama ada objek ialah contoh kelas atau contoh subkelas kelas nama atau nama antara muka.

Bagaimana untuk menggunakan instanceof operator dalam java Bagaimana untuk menggunakan instanceof operator dalam java May 19, 2023 am 08:16 AM

Konsep 1. Operator ini digunakan untuk mengendalikan objek dan menyemak sama ada objek itu daripada jenis tertentu (jenis atau jenis antara muka). Format 2. Jika objek yang ditunjuk oleh pembolehubah di sebelah kiri kalkulator ialah objek kelas atau antara muka di sebelah kanan operator, hasilnya adalah benar. (Objectreferencevariable)instanceof(class/interfacetype) instance packagecom.verify_instanceof;publicclassTestInstanceOf{publicstaticvoidmain(String[]args){//Empat baris kod berikut digunakan untuk membuktikan: instanceof

instanceof operator di Jawa instanceof operator di Jawa Sep 01, 2023 pm 08:01 PM

Operator ini hanya digunakan untuk pembolehubah rujukan objek. Operator ini menyemak sama ada objek tergolong dalam jenis tertentu (jenis kelas atau jenis antara muka). Operator instanceof ditulis sebagai -(Objectreferencevariable)instanceof(class/interfacetype) Jika objek yang dirujuk oleh pembolehubah di sebelah kiri operator melepasi semakan IS-A bagi kelas/jenis antara muka di sebelah kanan, hasilnya akan menjadi benar. Berikut ialah contoh - Contoh Demonstrasi Langsung publicclassTest{ publicstaticvoidmain(Stringargs[]){&nbs

Mengapa kita perlu memaksa pemindahan selepas instanceof? Mengapa kita perlu memaksa pemindahan selepas instanceof? Nov 14, 2023 pm 03:43 PM

Apabila menggunakan operator instanceof untuk menyemak jenis objek, jika hasilnya benar, ini bermakna objek itu adalah contoh jenis yang ditentukan. Walau bagaimanapun, pengkompil tidak menukar objek secara automatik kepada jenis yang ditentukan, jadi pelakon diperlukan. Casting ialah operasi menukar objek daripada satu jenis kepada jenis yang lain. Selepas menggunakan pengendali instanceof, jika anda menentukan bahawa objek adalah tika jenis yang ditentukan dan ingin beroperasi dengan jenis itu, anda perlu melakukan penukaran jenis cast.

Mengapa tidak menggunakan instanceof Mengapa tidak menggunakan instanceof Nov 14, 2023 pm 04:05 PM

Sebab untuk tidak menggunakan instanceof ialah: 1. Bahasa pengaturcaraan yang anda gunakan mungkin tidak menyokong operator instanceof 2. Anda berpendapat bahawa menggunakan kaedah lain boleh mencapai keperluan dengan lebih baik, menggunakan kaedah lain untuk menyemak jenis objek menjadi lebih berkesan. atau lebih sesuai untuk keperluan anda;

Mengapakah ralat akan dilaporkan tanpa menambah instanceof? Mengapakah ralat akan dilaporkan tanpa menambah instanceof? Nov 13, 2023 pm 03:05 PM

Sebabnya ialah: Operator instanceof digunakan untuk menyemak sama ada objek ialah contoh kelas tertentu (atau kelas terbitannya). Jika objek bukan contoh kelas, maka penentuan jenis tidak boleh dibuat dan ralat dilemparkan. Untuk mengelakkan ralat ini, apabila menggunakan pengendali instanceof, anda perlu memastikan bahawa objek adalah contoh kelas. Jika anda tidak pasti tentang jenis objek, anda boleh menggunakan kaedah lain untuk menentukan jenisnya.

Mengapa instanceof boleh antara muka Mengapa instanceof boleh antara muka Nov 13, 2023 pm 03:09 PM

instanceof tidak boleh disambungkan. Sebabnya ialah: kata kunci instanceof digunakan untuk menyemak sama ada objek ialah contoh kelas tertentu, dan tidak boleh digunakan secara langsung untuk menyemak sama ada objek ialah contoh antara muka, kerana antara muka tidak boleh digunakan.