簡體   English   中英

從泛型類型獲取類對象

[英]Get class object from generic type

我想通過刪除無用的類來簡化項目。 通過無用的類,我的意思是:

public class MainPage extends TileGridFragment<MainModel> {}

該類的整個邏輯由TileGridFragment實現,數據由MainModel提供,由於使用了singleton類,因此可以訪問該實例。

我想將此類的實例化推遲到以后,所以我只是將MainPage.class傳遞給我的方法。

因為MainPage等效於TileGridFragment<MainModel> ,所以我想刪除此類,而改用TileGridFragment<MainModel>.class類的東西。

但這是行不通的,我沒想到。

我也嘗試過Class.forName ,但是它拋出ClassNotFoundException

任何想法 ?

如果MainPage的實現實際上是{} ,則只需傳遞TileGridFragment.class 實際類型參數與運行時無關,因為它們會被擦除刪除

另外,由於擦除的原因,您可以將新的TileGridFragment (具有原始類型,作為TitleGridFragment.class.newInstance()的結果) TitleGridFragment<MainModel>TitleGridFragment<MainModel> ,並且不會造成附帶損害(除了來自編譯器)。

您不能真正地從反射中得到一些快樂,但是我不確定您到底想做什么。

試試這里: 在運行時獲取類的通用類型

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM