草庐IT

super-jump

全部标签

java - (Predicate<? super String> s) 或 (String s)

我有一个TreeSet字符串(硬编码)。想要检查给定的参数字符串,例如。“人”如果存在于TreeSet中则返回true否则返回false.在这里,我对关于Eclipse的消息感到困惑(Predicates)对比(Strings):ThemethodanyMatch(Predicate)inthetypeStreamisnotapplicableforthearguments(String)请指导。importjava.util.Set;importjava.util.TreeSet;importjava.util.function.Predicate;publicclassSystem

java - 为什么是 SomeClass<? super T> 不等同于 Java 泛型类型中的 SomeClass<T>?

我注意到Collections.sort的规范:publicstaticvoidsort(Listlist,Comparatorc)为什么这里需要“?super”?如果ClassB延伸ClassA,那么我们不能保证Comparator将能够比较两个ClassB无论如何,没有“?super”部分的对象?换句话说,给定这段代码:Listlist=...;Comparatorcomp=...;Collections.sort(list,comp);为什么编译器不够聪明,即使没有为Collections.sort()的声明指定“?super”,也无法知道这是可以的?

java - 在具有泛型方法的 Java 泛型中使用 'extends' 和 'super' 的问题

有一个方法:publicstaticvoidaddandDisp(Collectioncs,Tt)这是通过以下方式调用的:Listls2=newLinkedList();addandDisp(ls2,newObject());这会产生编译时错误。另一方面,如果我们只有一个参数,则调用成功。这是为什么?此外,这是成功的:Listls1=newLinkedList();addandDisp(ls1,newString());虽然这不是:Listls1=newLinkedList();addandDisp(ls1,newObject());底层逻辑是什么? 最佳答

Java - 扩展为什么 super 变量 a 为 0

请看这段代码:classSup{inta=8;publicvoidprintA(){System.out.println(a);}Sup(){printA();}}publicclassSubextendsSup{inta=9;@OverridepublicvoidprintA(){System.out.println(a);}Sub(){printA();}publicstaticvoidmain(String[]args){Subsub=newSub();}}结果:控制台打印:09我知道子类会先调用父类constructor但是,为什么是09,而不是89?

java - 为什么将 ArrayList 的泛型转换为父类(super class)不起作用?

有人可以向我解释为什么标记为//thislinegivesacompileerror(why?)的行吗?在下面的代码示例中不起作用?importjava.util.ArrayList;publicclassGenericCastCheck{classA{}classBextendsA{}publicstaticvoidmain(String[]args){AaObject=newA();BbObject=newB();//thislineworksfineaObject=bObject;//thislinegivesacompile(expected)bObject=aObject;A

java - 父类(super class)的隐藏方法

我读过OverridingandHidingMethods教程。从中,我收集了以下内容:Ifasubclassdefinesaclassmethodwiththesamesignatureasaclassmethodinthesuperclass,themethodinthesubclasshidestheoneinthesuperclass.因此,我做了以下事情:importjavax.swing.JTextArea;publicfinalclassJWrappedLabelextendsJTextArea{privatestaticfinallongserialVersionUID

java - 当我们实例化一个对象时,是否会创建父类(super class)的实例?

当我们在java中实例化一个特定的类时,是否会创建父类(superclass)的实例。如果是这种情况,那么实例化所有父类(superclass)的开销就会很大。我尝试了以下代码:publicclassAClass{publicAClass(){System.out.println("ConstructorA");}}publicclassBClassextendsAClass{publicBClass(){System.out.println("ConstructorB");}}publicclassTest{publicstaticvoidmain(String[]args){BCl

Java,是否可以将 'convert'对象从子类传递到父类(super class)对象

我有两个类(class)学生和导师。Tutor基本上是一个拥有facultyID的学生(TutorextendsStudent)。一旦他的契约(Contract)完成,他就回到了一个学生的身份。那么我能否以某种方式将他转换回他“以前”的学生名单? 最佳答案 在这里你真正想做的是使用compositionandnotinheritance.将所有对象保留为类型Student,然后临时分配一个TutorRole的行为因为Student的每个实例都需要它.有了这个设计,您的Student类将包含TutorRole类型的属性(成员变量)您可

java - super在Java中是如何实现的?

“super”实际上是在哪里定义的?[当我们使用super.someMethod()时]。它是定义为java.lang.Object类还是java.lang.Class类中的字段?当我们从子类调用时,super包含对其父类(superclass)的引用。以同样的方式,父类(superclass)中的super本身具有对其父类(superclass)的引用[以这种方式直到java.lang.Object]。那么,java如何将父类(superclass)引用注入(inject)到“超”字段,使我们能够调用父类(superclass)方法?是否有类似以下的幕后实现:Classcurrent

java - 我应该对从父类(super class)继承的方法进行单元测试吗?

我目前正在以TDD方式编写JDBC驱动程序的实现(是的,您没看错),虽然此时我只完成了类stub和一些次要功能,我突然想到,由于Statement是PreparedStatement的父类(superclass),它是CallableStatement的父类(superclass),所以当我真正开始时我应该怎么做为这些类的实现编写测试,我应该做其中的哪一个:为Statement创建一个测试套件,然后扩展该套件以对PreparedStatement进行额外测试,然后对CallableStatement执行相同的操作。单独测试每个实现,忽略从父类(superclass)继承的方法。严格测试