【java-如何为每个泛型类型创建一个新的bean实例?】教程文章相关的互联网学习教程文章

java – 与泛型类型不匹配【代码】

这是一个界面:public interface Foo<T> extends Comparable<Foo<T>> {... }并且有一些类实现此接口:public class Bar extends Something implements Foo<Something> {public Vector<Foo<Bar>> giveBar() {...} }public class Boo extends SomethingElse implements Foo<SomethingElse> {public Vector<Foo<Boo>> giveBoo() {...} }现在我想在矢量中保留一堆Foos(可能真的是Foos或Boos).Bar bar = new Bar(); Boo boo = new Boo(...

java泛型类型擦除【代码】

声明具有类型参数的类时< T延伸A& B& C>,类型擦除过程将用A类替换T.但是如果T类型的变量调用接口B或C中的方法声明,Java会用它做什么? 当我们创建一个泛型类型的实例,如ArrayList< String>时,类型参数String也将被删除,但调用get方法将返回类型字符串,这些信息来自哪里,因为它已被删除? 我知道使用java反射,但我需要一些具体的解释.解决方法:不使用反射 – 铸造是.例如,请使用以下代码:interface A {void a(); }interface B {voi...

Java泛型:声明泛型类型的映射值【代码】

我是仿制药的新手. 有地图就好private static Map<String, Object> map;和像这样的方法public <T> T getObject(final Class<T> myClass) {return (T)map.get(myClass); }如何更改地图声明,以便在从方法返回时不必进行强制转换?解决方法:您需要创建泛型类,而不是通用方法:public class MyClass<T> {private Map<String, T> map;public T getObject(final String key) {return map.get(key);} }另外,我将参数从Class更改为String.如...

将泛型类型作为Java中的泛型方法参数传递【代码】

首先让我为可怕的头衔道歉,但我不知道如何用一句话来总结这一点.public class GenericFun {public class TypedStream<I extends OutputStream> {I input;public I getInput() { return input; }public void setInput(I input) { this.input = input; }}public abstract class GarbageWriter<I extends OutputStream> {public void writeGarbage(I output) throws Exception {output.write("Garbage".getBytes());}}public class Ga...

java – 实例化泛型类型【代码】

我正在尝试将现有类转换为使用泛型,并且在转换构造函数时感到难过. 原始类是一个POJO,包含在基于文本的控制台游戏中从一个房间移动到另一个房间的逻辑.从字面上看,它是一个类,它包含一些可触发动作的字符串触发器(例如,用户键入“向右走”),描述和指向新位置的指针. 该类的当前非泛型版本如下所示:public class Navigation implements Serializable {private static final long serialVersionUID = 1L;private String trigger;pri...

java – 卷积泛型类型声明的解释.什么类<?扩展类<?延伸演员> []>实际意味着什么?【代码】

想象一下,我们有这门课.public class Actor {...}然后我们有一个方法需要一个类型的参数: 类&LT ;?扩展类<?延伸演员> []> 这甚至可能吗?我无法破译它.解决方法:是.让我们从内到外工作: >? extends Actor表示Actor或Actor的任何子类型.>班级<? extends Actor> []表示Class< T>的数组.对象,其中每个对象表示一个类,该类是Actor或者是Actor的子类型.>班级<?扩展类<?延伸演员> []>表示类对象数组的类,其中每个对象都是Actor或其...

集合排序泛型类型java【代码】

我一直在寻找我的问题的答案.我发现了大量相似的主题,但我仍然不知道该怎么做. 我有一个类,我想在排序的ArrayList中存储对象. 例如,我创建了这个类:public class Kwadrat implements Comparable<Kwadrat> {private int a;public Kwadrat(int a){this.a = a;}public int get_size(){return a*a;}public int compareTo(Kwadrat b){if(b.get_size() > get_size()){return -1;}if(b.get_size() < get_size()){return 1;}return 0;} }这...

Java – 返回指定泛型类型的列表【代码】

我有一个包含各种子类型的对象列表:List<Dog> dogList = new ArrayList<>(); dogList.add(new Poodle()) dogList.add(new Dalmation());我想搜索此列表并返回指定类的所有实例:public <T extends Dog> List<T> getAll(Class<T> dogType){List<T> returnObjects = new ArrayList<>();for(T obj : dogList){if(dogType.instanceOf(obj){returnObjects.add(dogType.cast(obj));}}return returnObjects; }用法:List<Poodle> poodle...

java – 如何创建泛型类型的新对象?【代码】

我有这门课:public class A<T> {protected T something = new T();... }当然新的T()是不可能的.我该怎么做? 我不能更改调用此类的构造函数的代码,因为这是通过反射完成的. 另一个问题是如何获取泛型类的Class对象. mymethod(A.class)工作,但现在A得到了参数T.解决方法:您可以接收T作为构造函数的参数:protected T something;public A(T something) {this.something = something; }或者,如果A的目标是真正创建新的T实例,那么将T的...

Java 8类型推断导致在调用时省略泛型类型【代码】

升级到Java 1.8后,我遇到了一个泛型方法的问题,这对于Java 1.6和1.7来说很好请考虑以下代码: public class ExtraSortList<E> extends ArrayList<E> {ExtraSortList(E... elements) {super(Arrays.asList(elements));}public List<E> sortedCopy(Comparator<? super E> c) {List<E> sorted = new ArrayList<E>(this);Collections.sort(sorted, c);return sorted;}public static void main(String[] args) {ExtraSortList<String> s...

java – 引用内部泛型类型【代码】

是否有可能提取内部泛型类型? 想象一下以下课程:interface Animal { }class Bear implements Animal { }class AnimalRule<ANIMAL extends Animal> { }class BearRule extends AnimalRule<Bear> { }现在我想为这段代码编写测试,但我希望有一个通用的基础测试类. 我可以这样声明:class AnimalRuleAltTest<ANIMAL extends Animal, RULE extends AnimalRule<ANIMAL>> {RULE rule;ANIMAL animal; }class BearRuleAltTest extends Ani...

Java子类化问题与泛型类型的自引用类型【代码】

import java.util.*;// Let's define a self-referential type: class SelfReferential<T extends SelfReferential<T>> {}//A complete (i.e. not parameterized) subtype of SelfReferential: class SubclassA extends SelfReferential<SubclassA> {}//A partial (i.e. parameterized) subtype of SelfReferential: class SubclassB<T extends SubclassB<T>> extends SelfReferential<T> {}//Two complete subtypes of SubclassB ...

java – 在类中做太多泛型类型意味着糟糕的设计?【代码】

我有一个类,它带有三个泛型类型参数.我想知道这样做是否好.我的意思是这被认为是设计气味吗?假设某些类甚至更多,那么泛型参数的数量是什么?class InnerStateMachine<ST extends Enum<?>,EV extends Enum<?>,PEV extends Enum<?>>{}哪里 ST – 是内部状态机的状态 EV – 是内部状态机的事件 PEV – 是我用于状态机之间通信的父状态机的事件 更新:内部状态机包含另一个状态机,它是父服务器.因此,如果内部状态机想要在父节点上触...

java 声明多个泛型类型和通配符

若一个类中多个字段需要不同的泛型声明,则在声明类的时候指定多个泛型类型即可; 格式: public interface IDAO<PK, T> { PK add(T t); void remove(PK id); void update(PK id, T t); T get(PK id); } 在进行引用传递的时候泛型类型必须匹配才可以传递,否则编译不通过; 使用? ,表示未知类型的泛型对象: List<?> 表示未知元素的List集合; 这种带通配符的List仅表示各种泛型Li...

java – 泛型类型的自定义异常【代码】

参见英文答案 > Why doesn’t Java allow generic subclasses of Throwable? 5个我已将java类中的Exception包装到自定义异常中.我希望我的自定义异常接收两个参数,一个是消息,另一个是列表. 但问题是listOfFailedRecords必须是通用的. 就像是,throw new MyException("Failed due to dependency", listOfFailedRecords)而MyException类看起来像,public class MyException<T> extends Exception ...

实例 - 相关标签