jch*_*tel 8 java generics reflection
好的,所以我正在建立自己的XML序列化(我知道还有其他的,甚至是一些内置于Java的,但我自己也在学习,因为它非常棒).我有序列化了.我目前正在进行反序列化(读取XML文件并根据文件中的数据组装对象),我遇到了设置泛型类型的问题.经过广泛的研究,我想出了如何获取类的泛型类型,以便我可以在序列化时编写它们,但我不知道如何做到这一点:
Class c = Class.forName(string);
ArrayList<c> list = new ArrayList<c>();
Run Code Online (Sandbox Code Playgroud)
我在C#中看到了一些这方面的答案,但显然C#比Java更通用,我无法用Java复制那里的解决方案.甚至可以用反射来完成这项工作吗?
Bri*_*ach 13
你不能.
Java中的泛型只是编译时语法糖.它使得你不必Object像过去恐龙漫游JVM时所做的那样抛出所有内容,并为你提供一些编译时类型检查.
编辑补充:有一些元数据在运行时,你可以通过反射得到保留检查像你想要的泛型类,但没有.
| 归档时间: |
|
| 查看次数: |
7690 次 |
| 最近记录: |