将Concrete.class添加到集合(Adding Concrete.class to a Collection)
嗨团队,
我想创建一个具体类对象的集合,它扩展了一个常见的Abstract类或接口。
c1允许我存储扩展抽象类的具体实例。 c2允许我存储任何类的具体实例,而无法控制集合中的内容。c3我认为我想要的是它,但它实际上是AbstractTest的集合,我不能将具体的类放入集合中。
Collection<AbstractTest> c1 = new HashSet<AbstractTest>(); c1.add(new TestImpl()); Collection<Class<?>> c2 = new HashSet<Class<?>>(); c2.add( TestImpl.class); Collection<Class<AbstractTest>> c3 = new HashSet<Class<AbstractTest>>(); c3.add( TestImpl.class); <<< ERRORS!!!!编辑
Collection<Class<? extends AbstractTest>> c3 = new HashSet<Class< ? extends AbstractTest>>(); c3.add(TestImpl.class);Hi Team,
I want to create a collection of concrete class objects, that extend a common Abstract class or interface.
c1 allows me to store concrete instances that extend the abstract class. c2 allows me to store concrete instances of any class with no control of what goes in the collection.c3 Is what I thought I thought I wanted, but it is actually a collection of AbstractTest and I can't place concrete class into the collection.
Collection<AbstractTest> c1 = new HashSet<AbstractTest>(); c1.add(new TestImpl()); Collection<Class<?>> c2 = new HashSet<Class<?>>(); c2.add( TestImpl.class); Collection<Class<AbstractTest>> c3 = new HashSet<Class<AbstractTest>>(); c3.add( TestImpl.class); <<< ERRORS!!!!EDIT
Collection<Class<? extends AbstractTest>> c3 = new HashSet<Class< ? extends AbstractTest>>(); c3.add(TestImpl.class);最满意答案
Collection<Class<? extends AbstractTest>> Collection<Class<? extends AbstractTest>>是你想要的。
Collection<Class<? extends AbstractTest>> c3 = new HashSet<Class<? extends AbstractTest>>(); c3.add(TestImpl.class);Collection<Class<? extends AbstractTest>> is what you want.
Collection<Class<? extends AbstractTest>> c3 = new HashSet<Class<? extends AbstractTest>>(); c3.add(TestImpl.class);更多推荐
发布评论