java - 我们可以在运行时从泛型类型实例化一个对象吗?

标签 java object generics runtime

我们可以在运行时从泛型类型实例化一个对象吗? 我有一个类:

MyClass<T> implements SomeInterface<T> {
..
public T someMethod() {
return <object of Type T> // Desired!!!
}
..
}

或者假设我从需要泛型类型实例的其他类调用此方法:

TestMayClass {
DesiredClass t = new MyClass<DesiredClass>().someMethod();
// Can I have generics type at run time and construct object from it then return to calling method? Manipulating generic type??
}

:此代码未编译,只是虚构的代码,具有类似的方式。

最佳答案

不,你不能在 Java 中做到这一点。即使我们输入 type erasure另外,编译器怎么知道调用的构造函数存在?

Java 中最能满足您要求的东西是 reflection .

关于java - 我们可以在运行时从泛型类型实例化一个对象吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31985245/

相关文章:

java - 关于 JPA Cascade 和删除实体的问题

java - 与 Java 泛型和子类化的混淆

c# - 使用 Linq 在 C# 泛型列表中查找最新项

java - 具有多个数据源的 Spring Data Controller

Java流,从2个列表中获取数据

java - 面向对象编程,将参数传递给方法比在构造函数中更面向对象吗?

class - 使用其他方法创建 Ocaml 子类的正确方法是什么?

html - 我如何编写这段代码才能在nodejs中正常工作

javascript - Javascript 中对象的 every( ) 的类似物

java - 使用多个通用边界时编译错误