草庐IT

Generics

全部标签

java - 关于SCJP-6考试的问题

在准备SCJP-6考试时,我遇到了一个难题。我自己找不到答案。请回答问题并给出简短的评论:abstractclassA{//insertcodehere}publicabstractAuseMe(Ak);publicabstractAuseMe(Ak);publicabstractAuseMe(Ak);publicabstractAuseMe(Ak);publicabstractAuseMe(Ak);publicabstractAuseMe(Ak);publicabstractAuseMe(Ak);上面的占位符可以插入哪个方法?附言我试图查看规范。那些对我没有帮助。

Java map <K,V> : Why get(object) not get(K)?

这个问题在这里已经有了答案:关闭12年前。PossibleDuplicate:JavaGenerics:WhyDoesMap.get()IgnoreType?谁能解释一下为什么用MapdefinesVput(Kkey,Vvalue);Vget(Objectkey);为什么get没有定义为:Vget(Kkey)同样,为什么这些方法的类型分别是Object,而不是K和V?booleancontainsKey(Objectkey);//WhynotK?booleancontainsValue(Objectvalue);//WhynotV?这是向后兼容的东西吗(1.5之前)?

Java 泛型 'Incompatible Type' 编译时错误

对于CS类(class),我正在编写由我的教授创建的链表接口(interface)的链表实现。该作业要求我们对列表使用泛型。我认为,我创建的内容非常标准。publicclassMyLinkedListimplementsADTListInterface{...privateclassNode{Nodehead;Nodeprev;publicNode(intmax){...}publicvoidshift(){...NodenewNode=newNode(this.max);newNode.prev=head.prev;...}}...}在编译时会产生以下错误:MyLinkedList.

c# - 什么时候应该封装泛型类型?

我看到很多人建议您应该使用更接近您领域的类来封装泛型类型,例如Steve和Nat在GrowingObject-OrientedSoftware,GuidedbyTests中建议那:Ourruleofthumbisthatwetrytolimitpassingaroundtypeswithgenerics[...].Particularlywhenappliedtocollections,weviewitasaformofduplication.It’sahintthatthere’sadomainconceptthatshouldbeextractedintoatype.一般来说,什么

java - 是否有任何完全通用的 Map.get() 版本,即 "V get(K key)"

由于Map.get()不是完全通用的,我们经常发现开发人员传递不同类型的对象(因此存在错误)的情况。当我们开始使用其他团队的工件/服务时,这种情况的发生频率就会上升。WhatarethereasonswhyMap.get(Objectkey)isnot(fully)generic解释了为什么get()不是完全通用的。由于我们实际上并没有属于不同类型但“语义上”相等的两个对象的用例,因此拥有一个版本的Map.get()确实可以帮助我们在编译时识别此类错误。是否存在可用于生产的API? 最佳答案 这不是您问题的直接答案,但某些IDE(至

java - Hamcrest CombinableMatcher - 通用方法无法编译

我刚刚查看了hamcrest1.2中org.hamcrest.core.CombinableMatcher上的“both”和“and”方法由于某些原因,我无法编译以下内容@TestpublicvoidtestBoth(){StringHELLO="hello";StringTHERE="there";assertThat("hellothere",both(containsString(HELLO)).and(containsString(THERE)));}我得到的编译信息是and(org.hamcrest.Matcher)inorg.hamcrest.core.Combinable

Java6、Guava、泛型、类型推断

我用Java编写了一个实用方法:publicstaticfinalImmutableSortedSetREVERSED_TIMEUNITS=ImmutableSortedSet.copyOf(Collections.reverseOrder(),EnumSet.allOf(TimeUnit.class));/***Getthenumberof...,minutes,secondsandmilliseconds**Youcanspecifyamaxunitsothatyoudon'tgetdaysforexemple*andcangetmorethan24hoursifyouwantto

java - 实现接口(interface)的类应该只能添加同一个类的对象

假设我有一个Java接口(interface):interfaceI{voidadd(Ifoo);},还有实现这个接口(interface)的两个类C和D。有什么方法可以修改界面,这样我只能做:Cc=newC();c.add(newC());,但不是c.add(newD());?我在考试中遇到了这个问题,但我唯一的想法是在方法的定义中使用instanceof运算符:classCimplementsI{publicvoidadd(Ifoo){if(fooinstanceofC){System.out.println("instanceofC");}else{System.out.prin

java - 修改方法,使参数可以是实现 Comparable 的任何类型

我想修改以下方法,使其参数可以是实现Comparable的任何类型界面。方法的返回类型应与其参数变量的类型相同。publicstaticintmax(inta,intb){if(a>b)returna;elsereturnb;}所以在修改它时,我可以使用>,但我将如何使返回类型相同? 最佳答案 你基本上想要这样的东西:publicstatic>Tmax(Ta,Tb){intn=a.compareTo(b);if(n>0)returna;if(n您当然可以将其简化为以下内容(感谢@pickypg的通知):publicstatic>Tm

java - 现实生活中的通用类示例

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我在Java面试中遇到了下一个问题:您能说出一些现实生活中的通用类示例吗?不是来自真实的编程生活,而是共同点。例如。您正在向对编程一无所知的人解释泛型。最简单的设计模式-单例也是如此。关于第一个问题(关于泛型),我有任何想法,我尝试命名不同的手工工具(如fretsaw),它们只适用于一种类型的Material,但它不是真正的泛型。请避免收集类建议,它太幼稚