首頁 > Java > java教程 > 如何避免Java泛型擦除問題及解決方法?

如何避免Java泛型擦除問題及解決方法?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
發布: 2023-04-23 12:22:07
轉載
1119 人瀏覽過

1、問題描述

泛型類型不能明確地運用在執行時期類型的操作當中,例如:轉型、instance of 和 new。因為在運作時,所有參數的型別資訊都遺失了。

2、解決方法

/**
 * 泛型类型判断封装类
 * @param <T>
 */
class GenericType<T>{
    Class<?> classType;
    
    public GenericType(Class<?> type) {
        classType=type;
    }
    
    public boolean isInstance(Object object) {
        return classType.isInstance(object);
    }
}
登入後複製

在main方法我們可以這樣呼叫:

GenericType<A> genericType=new GenericType<>(A.class);
System.out.println("------------");
System.out.println(genericType.isInstance(new A()));
System.out.println(genericType.isInstance(new B()));
登入後複製

我們透過記錄類型參數的Class對象,然後透過這個Class物件進行類型判斷。

以上是如何避免Java泛型擦除問題及解決方法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
java可以做為web的後端嗎?
來自於 1970-01-01 08:00:00
0
0
0
安裝JAVA
來自於 1970-01-01 08:00:00
0
0
0
無法安裝java
來自於 1970-01-01 08:00:00
0
0
0
求救:JAVA加密的資料PHP解密
來自於 1970-01-01 08:00:00
0
0
0
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板