我想立即通用類,如SomeContainer<SomeClass>
。我只有className,所以,使用java反映,像Class.forNameClass.forName(param).newInstance();
但它不支持泛型,我該怎麼辦?如何使用JAVA中的GENERIC類反射即時映射?
-1
A
回答
1
泛型在編譯時只是語法糖,它允許Java更好地檢查類型的用法並避免強制轉換。在運行時,泛型不是真的存在。所以例如List<String>
或List<Integer>
都只是運行時的List
的實例。
要回答你的問題:
final Object o = Class.forName("java.util.List").newInstance();
final List<String> list = (List<String>) o;
+0
實際上,我知道它,但是我想將通用對象序列化爲json,並將json反序列化爲原始對象,但是在反序列化結束時,它只是具有泛型類的類名稱,該怎麼辦? – Tony
相關問題
- 1. GLSL中的反射映射
- 2. 如何使用Java反射
- 3. Java反射類
- 4. 使用java反射時java.lang.securityexception
- 5. 如何使用java中的整數鍵反序列化映射
- 6. 沒有反射的編譯時通用類型映射
- 7. scala中的Java類反射
- 8. 如何在mule中使用java映射?
- 9. 使用Java反射
- 10. 使用Java反射
- 11. 使用映射時反應錯誤
- 12. 在Java中使用反射時出錯
- 13. NHibernate映射類名並使用反射來解決它
- 14. 如何使用反射映射集合屬性
- 15. 如何使用反射檢查hibernate映射?
- 16. 如何在Java中使用反射調用類的main()方法
- 17. 何時使用映射框架,何時手動映射?
- 18. 在java中使用映射作爲值的映射是「好」嗎?
- 19. 如何在枚舉類型爲Class時使用Java反射?
- 20. 何時使用映射表
- 21. Java映射類的ArrayList
- 22. java中的映射
- 23. 正向映射vs反向映射
- 24. 無BiMap映射和反向映射
- 25. 如何在C#中使用反射時
- 26. 使用Jackson映射JSON到Java類
- 27. 如何在映射模型到mongoDB時使用JPA映射JSON類型數據
- 28. SQLAlchemy的不映射反映
- 29. 如何使用Java反射獲取javax.xml.ws.Holder中的實際類型?
- 30. 如何使用lambdas實現反向映射Java?
好了,你不能。請參閱https://docs.oracle.com/javase/tutorial/java/generics/erasure.html瞭解它背後的原因。此外:您真的想對您正在使用的語言功能做一些事先研究。 – GhostCat
實際上,我知道它,但是我想將通用對象序列化爲json,並將json反序列化爲原始對象,但是在反序列化結束時,它只是具有泛型類的類名,怎麼辦? – Tony