草庐IT

Generics

全部标签

java - Arraylist 的 Arraylist 的通用类型

在正常的数组列表初始化中,我们以前是这样定义泛型的,Listlist1=newArrayList();但是对于ArrayLists的ArrayList,我们如何定义它的泛型呢?数组列表的数组列表代码如下:ArrayList[]arr=newArrayList[n];for(inti=0;i只要分享语法,如果有人对此有想法......! 最佳答案 你可以简单地做List>l=newArrayList>();如果你需要一个列表数组,你可以这样做List[]l=newList[n];并安全地忽略或抑制警告。

Java 泛型 - 类型参数 String 隐藏了 String 类型

在我的界面中:publicResultquery(Tquery)在我的第一个子类中:publicResultquery(HashMapqueryMap)在我的第二个子类中:publicResultquery(StringqueryStr)第一个子类根本没有编译警告,而第二个子类有:类型参数String隐藏了String类型?我知道我的参数被泛型类型隐藏了。但我想了解到底发生了什么? 最佳答案 它认为您正在尝试创建一个类型参数——一个变量——其名称是String。.我怀疑您的第一个子类根本不导入java.util.HashMap.无论

java - 通用扩展类和实现接口(interface)

这个问题在这里已经有了答案:HowcanIrequireagenericparametertobeanenumthatimplementsaninterface?(2个答案)关闭9年前。这听起来像是一个奇怪的问题,但是如何定义一个必须扩展类并实现接口(interface)的泛型呢?我目前有一个具有以下原型(prototype)的通用函数:publicstatic>ListbuildEnumList(ClassenumClass)这正如预期的那样有效。我现在的问题是,我想进一步将可通过的类限制为枚举类并实现特定接口(interface)Readable(不是java.lang中的接口(i

Java ArrayList 声明

我目前正在准备JavaOCA考试,遇到了一个与ArrayList声明相关的问题。Whichofthefollowingisvalid?:1.ArrayListal1=newArrayList();2.ArrayListal2=newArrayList();3.ArrayListal3=newArrayList();4.ArrayListal4=newArrayList();5.ArrayListal5=newArrayList();根据我的书,答案1、2和4是有效的。答案3和5无效。但是,没有给出适当的解释。它所做的只是展示声明ArrayList的标准方法:ArrayListal3=n

java - 使用泛型通过上下文获取 spring bean

我有一堆实现类型Repository的存储库bean.现在我可以从用户那里得到一个随机节点列表,我想为每个节点获得适当的存储库。自Spring4.0RC1我们可以像这样Autowiring存储库:@AutowiredRepositorysomeNodeRepository;记录在案here.这很好用,但我的问题是如何根据通用类型动态地执行此操作。我想做的是:publicTsaveNode(Tnode){Repositoryrepository=ctx.getBean(Repository.class,node.getClass());returnrepository.save(node

java - 使用泛型重载方法

这个问题在这里已经有了答案:Methodhasthesameerasureasanothermethodintype(7个答案)关闭2年前。我在尝试创建两个静态重载方法时遇到编译错误。谁能解释一下?publicclassA{publicstaticvoida(SetstringSet){}publicstaticvoida(Set>mapSet){}}

java - 如何在java中获取比较器的倒数

在一个方法中,我收到一个通用的objectEextendsComparable作为论据。现在我想创建两个优先级队列。一个使用comparator由E和其他使用comparator相反的队列使用由E使用(即,如果E使用“=”)。请帮助我如何创建两个这样的队列。queue2=newPriorityQueue(0,Collections.reverseOrder(e));我得到的错误是reverseOrder不适用。请帮忙 最佳答案 看Collections.reverseOrder. 关于j

java - 泛型:无法从 Collections.emptyList() 转换为 List<String>

为什么publicListgetList(){if(isMyListOKReady())returnmyList;returnCollections.emptyList();}编译很好,但是对于publicListgetList(){returnisMyListReady()?myList:Collections.emptyList();}Eclipse说"Typemismatch:cannotconvertfromListtoList"? 最佳答案 您需要注意空列表的类型安全。所以像这样返回空字符串列表publicListgetL

java - 集合比具有泛型类型的标准列表更安全?

我在Java中使用了泛型,但它并没有我想象的那么好publicstaticvoidadd(Listl,Objecto){l.add(o);}publicstaticvoidmain(String[]args)throwsException{Listlist=newArrayList();add(list,"1.23");add(list,1.23);System.out.println(list);}所有这些都可以编译和工作。当我从list中获取一个值时,会抛出一个异常。在Java6中会更安全吗? 最佳答案 我建议使用标准的Coll

Java 本土泛型示例

谁能给我指出在Java中使用泛型的好例子?我的意思是自己编写泛型类的例子?大多数解释是“您可以像这样定义一个泛型类。现在看看JavaCollectionsAPI并忘记所有这些-只需使用它并开心。”我想要的更像是“您可以像这样定义一个泛型类,现在考虑您可能需要它的情况,现在让我们看看我们将如何编写它。”谢谢。 最佳答案 Java中的泛型有助于parametricpolymorphism.通过类型参数,您可以将参数传递给类型。就像Stringfoo(Strings)这样的方法为某些行为建模,不仅针对特定字符串,而且针对任何字符串s,所以