Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Menentukan Derivasi Kelas dengan Generik di Jawa?

Bagaimana untuk Menentukan Derivasi Kelas dengan Generik di Jawa?

Barbara Streisand
Lepaskan: 2025-01-24 19:02:14
asal
512 orang telah melayarinya

How to Determine Class Derivation with Generics in Java?

Menilai hubungan warisan dalam persekitaran generik Java

<:> Soalan:

Dalam penggunaan projek generik, anda perlu menentukan sama ada objek jenis yang diberikan diberikan kelas generik tertentu. Oleh kerana ciri -ciri generik kelas, penggunaan kaedah

akan gagal.

IsSubclassOf Contoh:

Pertimbangkan struktur peringkat kelas berikut:

Matlamatnya adalah untuk menentukan sama ada kelas ujian diperolehi daripada GenericClass.

<code class="language-java">public class GenericClass<T> implements GenericInterface<T> {
}

public class Test extends GenericClass<SomeType> {
}</code>
Salin selepas log masuk
Penyelesaian:

Java menyediakan penyelesaian kepada masalah ini. Pertama, kita membuat fungsi praktikal:

Sekarang, untuk memeriksa sama ada ujian diperolehi dari geneclass, sila gunakan kod berikut:

<code class="language-java">static boolean isSubclassOfRawGeneric(Type generic, Type toCheck) {
    while (toCheck != null && toCheck != Object.class) {
        Type cur = toCheck instanceof ParameterizedType ? ((ParameterizedType) toCheck).getRawType() : toCheck;
        if (generic == cur) {
            return true;
        }
        toCheck = toCheck.getSuperclass();
    }
    return false;
}</code>
Salin selepas log masuk
Kaedah ini akan memeriksa struktur hierarki (termasuk generik) untuk menentukan hubungan warisan. Ia menyediakan penyelesaian yang kuat dan fleksibel. Perhatikan bahawa di sini kita menggunakan secara langsung, kerana kita hanya perlu menentukan sama ada jenis asal dipadankan tanpa mempertimbangkan parameter generik. Dalam versi terdahulu, boleh mengembalikan jenis null atau tidak betul dalam keadaan ini, mengakibatkan kegagalan penghakiman. Versi yang lebih baik lebih dipercayai.

Atas ialah kandungan terperinci Bagaimana untuk Menentukan Derivasi Kelas dengan Generik di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan