4
A
回答
4
Type genericSuperclass = x.getClass().getGenericSuperclass();
if (genericSuperclass instanceof ParameterizedType) {
Type[] types =
((ParameterizedType) genericSuperclass).getActualTypeArguments();
}
然後你可以使用Class.isAssignableFrom
,如果type instanceof Class
,以驗證它是否是Foo
與否。
即
if (types[0] instanceof Class) {
if (x.getClass().isAssignebleFrom(((Class) type[0]))){
// do something
}
}
相關問題
- 1. 確定泛型類型是否相同
- 2. 檢查泛型類型是
- 3. 類型檢查與泛型類
- 4. actionscript中的泛型(返回類型與參數類型相同)
- 5. 內部類泛型類型與外部類型相同
- 6. 檢測泛型類型是否打開?
- 7. 如何檢查是否泛型類型實例從另一個「繼承」,既泛型類型和參數類型
- 8. Java - 泛型類型
- 9. 算法檢查泛型類型的數組是否是MaxHeap
- 10. 泛型類相同的通用型
- 11. 與泛型類型
- 12. 與泛型類型
- 13. 與泛型類型
- 14. 泛型類型Java中
- 15. 與泛型類類型
- 16. 檢查對象是否具有多類型參數的泛型
- 17. 是泛型類型
- 18. 替代泛型類型的字段
- 19. Java泛型 - 使用具有相同類名的類型實現兩種泛型類型的方法
- 20. Java的泛型類型
- 21. Java類泛型
- 22. 如何檢查C#泛型類型是否爲集合(IEnumerable)?
- 23. C#:數據類型是否與類型相同?
- 24. 與非泛型實現泛型類型
- 25. Java泛型和類型同義詞
- 26. 與泛型類型NHibernate的
- 27. C#泛型和類型檢查
- 28. 如何檢查類型是否是Python中的某個類型的子類型?
- 29. 檢查泛型中的引用類型java
- 30. 馴服Java中的類型檢查器泛型
什麼是'ParameterizedType'?你不能在'instanceof'中使用泛型類型參數(典型的'K','V','E','T'),對嗎? – polygenelubricants 2010-05-03 14:19:17
'ParameterizedType'表示(在這種情況下)以下信息:'Bar' - 即(據我所知) - geejay需要知道的內容。 –
Bozho
2010-05-03 14:28:08
謝謝,但我如何使用它來確定它是否是一個子類型(Bar的是)? – geejay 2010-05-03 14:31:26