我有一个类型的类
IDType<IDDataType>
以及另一类类型
SelectionManager<IDDataType>
有没有一种方法可以通过传递第一个类的实例来推断第二个类的对象的数据类型?类似这样的事情
IDType<String> idType = new IDType<String>();
SelectionManager<idType.getGenericType()> selectionManager = new Se.....
当然,我想这样做的原因是idType(这里的String是一个例子)是在完全不相关的地方创建的。
最佳答案
Java 中没有优雅的方法来执行以下操作:
IDType<String> idType = new IDType<String>();
idType.getGenericType();
这是因为Java编译器在运行时不知道对象的类型。阅读维基百科页面“Generics in Java”上有关“类型删除”的部分。 Java 最初并不是为处理这些而设计的。
尽管你总是可以使用一些肮脏的黑客……instanceof可以完成这项工作,但这是丑陋的编程。
关于java - 在 Java 中使用一个对象的泛型类型作为另一个对象的类型信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8195009/