Java 创建通过反射获得的对象集合

Java 创建通过反射获得的对象集合,java,reflection,collections,casting,Java,Reflection,Collections,Casting,假设我得到了一些对象o和o实例XXX==true。现在我想(在运行时)创建XXX类型的ArrayList,类似于ArrayList()。有办法吗?我目前只创建了ArrayList,但这还不够。恐怕你做不到。泛型只是为了给您提供编译时类型安全性。恐怕您做不到。泛型只是为了给您提供编译时类型安全性。恐怕您做不到。泛型只是为了给您提供编译时类型安全性。恐怕您做不到。泛型只是为了给您提供编译时类型安全性 当运行时检查可参数化类型本身(如java.util.List)时,无法知道参数化的类型是什么。这是有

假设我得到了一些
对象o
o实例XXX==true
。现在我想(在运行时)创建XXX类型的ArrayList,类似于
ArrayList()
。有办法吗?我目前只创建了
ArrayList
,但这还不够。

恐怕你做不到。泛型只是为了给您提供编译时类型安全性。

恐怕您做不到。泛型只是为了给您提供编译时类型安全性。

恐怕您做不到。泛型只是为了给您提供编译时类型安全性。

恐怕您做不到。泛型只是为了给您提供编译时类型安全性

当运行时检查可参数化类型本身(如java.util.List)时,无法知道参数化的类型是什么。这是有意义的,因为类型可以参数化为同一应用程序中的所有类型。但是,当您检查声明使用参数化类型的方法或字段时,您可以在运行时看到可参数化类型被参数化为什么类型


不幸的是,您无法在运行时获取参数化类型。泛型被认为是提供编译类型安全性的。 希望上面的链接有帮助=)

当运行时检查可参数化类型本身(如java.util.List)时,无法知道参数化的类型是什么。这是有意义的,因为类型可以参数化为同一应用程序中的所有类型。但是,当您检查声明使用参数化类型的方法或字段时,您可以在运行时看到可参数化类型被参数化为什么类型


不幸的是,您无法在运行时获取参数化类型。泛型被认为是提供编译类型安全性的。 希望上面的链接有帮助=)

当运行时检查可参数化类型本身(如java.util.List)时,无法知道参数化的类型是什么。这是有意义的,因为类型可以参数化为同一应用程序中的所有类型。但是,当您检查声明使用参数化类型的方法或字段时,您可以在运行时看到可参数化类型被参数化为什么类型


不幸的是,您无法在运行时获取参数化类型。泛型被认为是提供编译类型安全性的。 希望上面的链接有帮助=)

当运行时检查可参数化类型本身(如java.util.List)时,无法知道参数化的类型是什么。这是有意义的,因为类型可以参数化为同一应用程序中的所有类型。但是,当您检查声明使用参数化类型的方法或字段时,您可以在运行时看到可参数化类型被参数化为什么类型


不幸的是,您无法在运行时获取参数化类型。泛型被认为是提供编译类型安全性的。
希望上面的链接有帮助=)

所以如果我在运行时创建类,基本上就不能将它们放在编译时不知道的类型集合中?这很遗憾:没有使用泛型。我想,如果你有有限的类型可能性,一个解决办法是定义某种包装器,它将接受你的类的类型,并返回适当的集合。但是这仍然是一个糟糕的解决办法,每次添加一个新类并添加一个if之后,我都要修改包装器。所以基本上,如果我在运行时创建类,我就不能将它们放在编译时不知道的类型集合中?这很遗憾:没有使用泛型。我想,如果你有有限的类型可能性,一个解决办法是定义某种包装器,它将接受你的类的类型,并返回适当的集合。但是这仍然是一个糟糕的解决办法,每次添加一个新类并添加一个if之后,我都要修改包装器。所以基本上,如果我在运行时创建类,我就不能将它们放在编译时不知道的类型集合中?这很遗憾:没有使用泛型。我想,如果你有有限的类型可能性,一个解决办法是定义某种包装器,它将接受你的类的类型,并返回适当的集合。但是这仍然是一个糟糕的解决办法,每次添加一个新类并添加一个if之后,我都要修改包装器。所以基本上,如果我在运行时创建类,我就不能将它们放在编译时不知道的类型集合中?这很遗憾:没有使用泛型。我想,如果你有有限的类型可能性,一个解决办法是定义某种包装器,它将接受你的类的类型,并返回适当的集合。但这仍然是一个糟糕的解决办法,我会在每次添加新类并添加if之后修改包装器。