【Java自学-泛型 泛型转型】教程文章相关的互联网学习教程文章

与Java泛型和继承相关的编译错误【代码】

为什么在第二个示例中没有任何编译错误,但是在第一个示例中却存在以下编译错误?SomeConcreateClass.java:1: ISomeBaseInterface cannot be inherited with different arguments: <java.lang.Object> and <> public class SomeConcreateClass^ 1 error唯一的区别-在第二个示例中未对类SomeDerivedClass进行参数化. 范例1:我在这个例子中正确理解吗public class SomeConcreateClassextends SomeDerivedClassimplements ISomeInterf...

将getClass()与一些复杂的Java泛型一起使用时,编译类型不匹配【代码】

我有一个使用此接口的方法:public <A extends Message, B extends Message> MessageConverter<A, B>getDefaultConverterFor(Class<A> inputClass, Class<B> outputClass); 这里的想法是您有一个要转换为B型消息的类型为A的消息,并且想要从可用的已注册转换器的存储库中获取一个转换器来执行此操作.不幸的是,我很难按预期的那样使两端的类型都能正常工作. 更具体地说,我正在尝试这样做:public <M extends Message> Message conve...

Java泛型,在列表中添加所有int / vector【代码】

我正在从C学习Java中的泛型,并且很困惑如何在没有运算符重载的情况下进行数学运算.假设我想编写一个sumList类,它只是一个带有sum方法的列表.public class sumList<T extends CanAdd<T>> {private List<T> list;public sumList() {list = new List<T>();}public void addElement(T t) {list.add(t);}public T getSum() {T ans = null;for (T t : list) {if (ans == null) {ans = t;} else {ans = ans.plus(t);}}return ans;} }我正在...

java创建泛型的实例【代码】

如果存在泛型 T ,要创建它的实例,以下方式行不通public class xxx {privaye E[] data ;public xxx() {data = new E[10] ;} } 换为以下方式可以public class xxx {privaye E[] data ;public xxx() {data = new (E[]) new Object [10] ;} }

Java泛型不允许我向列表添加其他项【代码】

我有这个普通班public class BinTree<T> {T value;List<BinTree<? extends T>> branch = new ArrayList<BinTree<? extends T>>();public BinTree(T v){ value = v;}public void addBranch(BinTree<? extends T> tree){if(branch.size() == 2){System.out.println("You can only have two childs");}else{branch.add(tree);}}public BinTree<? extends T> getBranch(int n){ return branch.get(n);}}及其实现在这里public static v...

Java反射获取泛型类型

本文链接:https://blog.csdn.net/hongxingxiaonan/article/details/49202613 在Java反射技术的应用中,取得一个类的成员、方法和构造函数相对比较容易,但是要想取得其中包含的泛型类型则相对困难一些。先看一个简单的例子,然后详细说明每个步骤的作用。public class Demo { private List<Integer> list1; private List<Set<Integer>> listSet; public Set<String> fun1(Map<Integer, String> map){return...

java-泛型类中的静态最终变量导致未选中和原始类型警告【代码】

在泛型类中具有静态最终变量是否是设计缺陷?考虑下面的类,所有对Node.SOIL的引用都会引发警告.解决这个问题的好方法是什么?public class Node<E> {private static int nodeCounter = 0;@SuppressWarnings({ "unchecked", "rawtypes" }) public static final Node SOIL = new Node(null, null); // <-- HEREpublic static void resetSOIL(){SOIL.children = null; // <-- HERE}private Node<E> parent;private Set<Node<E>> chil...

Java泛型,不兼容的类型错误(带有继承)【代码】

我有跟随抽象类…public abstract class IRepository<T> {public T getEntityById(int idEntity){try{Session session = HibernateUtil.getSessionFactory().getCurrentSession();Transaction tx = session.beginTransaction();T result = (T) session.createQuery( getByIdQuery() + idEntity ).uniqueResult();tx.commit();if (result != null){System.out.println("Fetched " + result.toString());return result;}else return ...

Java选择性泛型【代码】

class A <T> {private T field; }我知道我可以使用<强制类型参数为某种有界类型. ...扩展...&gt ;,但是如何强制类型参数T只能是String,Integer,SomeClassB,SomeEnumC,而不能用其他参数对其进行参数化? A<SomeClassB> a = new A<SomeClassB>();会合法的.A<SomeClassX> a = new A<SomeClassX>();将是非法的. 我已经尝试使用以下方法测试这些类型T instanceof SomeEnumC在类A的构造函数中,但是非常混乱.解决方法:注意:我同意@Jeffre...

java-数组与泛型之间的差异【代码】

我刚刚读了《有效的Java》,看到一句话说 结果,数组提供运行时类型安全性,但不提供编译时类型安全性,反之亦然 我不太清楚,即使我已经阅读了所有示例,也感到困惑.任何人都可以向我解释一下,谢谢一百万.解决方法:您无法在运行时更改数组(引用)的类型.但是您可以编译尝试运行的代码.String[] strings = new String[1]; Object[] objects = strings; objects[0] = new Integer(1); // RUN-TIME FAILURE编译应用程序时,编译器不会引发任何...

Java集合泛型<?扩展Employee>抛出异常【代码】

我写了下面的代码class Student {} class Student1 extends Student {} class Student2 extends Student {} List<? extends Student> emp = new ArrayList<>(); emp.add(new Student()); // I do not want this to happen. at compile time it should give me error emp.add(new Student1()); // this should happen emp.add(new Student2()); // this should happen但是在上面的代码中,所有3个添加项均不起作用,引发编译错误. 有指...

Java-编译器错误-类中定义的枚举不能用于同一类中的泛型替换【代码】

我定义了一个名为IReport的通用接口,该接口采用通用参数类型Tpublic interface IReport<T> {public enum ReportType {YEARLY, MONTHLY, WEEKLY}public String getName();public ReportType getType();public Map<T, List<Cost>> getResults();}一个类正在实现此接口public class WeeklyReport implements IReport<Days> {public enum Days {MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY}@Overridepublic Strin...

java-抽象递归泛型导致绑定不匹配【代码】

在尝试以逻辑方式构造类时,我发现Java能够执行递归泛型.几乎正是我在结构上寻找的东西,但是我遇到了抽象类的问题.我认为Foo和Bar在这个示例中会非常混乱,因此我将与我的实际项目相关的类命名为.public abstract class GeneCarrier<T extends GeneCarrier<T>> {protected Gene<T> gene;//... }public class Gene<T extends GeneCarrier<T>> {//... }public abstract class Organism extends GeneCarrier<Organism>{//... }public cl...

Java泛型-获取类的实例【代码】

我有一个名为Data的抽象类,带有一个getInstance()方法,该方法应返回Data具体子类的实例. 我想将一个字符串传递给getInstance方法,并且该字符串将确切定义将要返回的类. 到目前为止,我有:public abstract class Data {private Map<String, Data> instances;public <T extends Data> T getInstance(Class<T> type, String dataName) {return type.cast(instances.get(dataName)); }}getInstance()方法在实例映射中查找正确的实例.我...

java-如何在类中使用Comparable作为泛型参数【代码】

我在数据结构课程中有家庭作业,问题是: 实现双链表类. 方法: >显示()> length()或size()> insertSorted(可比较)> insertToEnd(可比)> insertToHead(可比较)>删除(可比)>布尔搜索(可比) 您必须在JAVA中执行此操作 创建一个应用程序层来测试您的类及其方法.将所有源文件压缩为一个文件,并将其重命名为CS214HW1_first_lastName.zip将您的名字放在文件名中.如果需要,添加ReadMe.txt文件以获取更多信息,例如编译. 我正确地实现了所有操...