草庐IT

generic-method

全部标签

Java : Accessing static method properly

我是JAVA新手,喜欢尝试了解一切。在JAVA中访问静态方法“hero.returnHp()”时,我有以下内容:heroMike=newhero();Mike.returnHp();程序运行良好,但我注意到Eclipse有一个警告,“应以静态方式访问hero类型的静态方法。”当我接受自动修复时,它会更改“Mike.returnHp();”到“hero.returnHp();”。所以我有两个问题:1)这样做有什么好处?2)如果我创建了两个相同类型的对象,我该如何指定在以静态方式访问时返回哪个对象?谢谢! 最佳答案 首先我想指出关键字s

Java : How do I implement a generic Binary Search Tree?

到目前为止,我一直在编写一个Node类作为classNode{privatevalue;privateNodeleft;privateNoderight;publicintgetValue(){returnvalue;}publicvoidsetValue(intvalue){this.value=value;}publicNodegetLeft(){returnleft;}publicvoidsetLeft(Nodeleft){this.left=left;}publicNodegetRight(){returnright;}publicvoidsetRight(Noderight)

java - FindBugs 错误 : Write to static field from instance method

我的应用程序中有几个区域在从实例方法中操作静态变量的值时出现错误。“从实例方法写入静态字段”。如果我们不考虑多线程,即使多个实例写入同一个static变量,这种情况是否会带来任何潜在问题? 最佳答案 从文档...Thisinstancemethodwritestoastaticfield.Thisistrickytogetcorrectifmultipleinstancesarebeingmanipulated,andgenerallybadpractice.首先,它说这是一种不好的做法,并非不正确。第二件事是关于提出任何潜在问题的

Java:在匿名类中定义泛型方法

下面的java代码工作正常。publicstaticvoidmain(String[]arg){JPanelp=(newJPanel());p.add(newObject(){JButtonf(JButtonx){x.setEnabled(false);returnx;}}.f(newJButton("B")));JFramew=newJFrame("W");w.add(p);w.pack();w.setVisible(true);}如果将方法更改为其通用形式,程序将失败。publicstaticvoidmain(String[]arg){JPanelp=(newJPanel());p

java - 如何让java中的Generic Object实现一个接口(interface)

我想要一个实现接口(interface)的通用对象。我的意思是如果我有一个A类classA{Ex;}我想确保x将实现特定接口(interface)(myInterface)。换句话说,类型E实现了一个接口(interface)。 最佳答案 classA{Ex;}我最初以为你在找:classAimplementsMyInterface{Ex;}orclassAimplementsMyInterface{Ex;}视情况而定。 关于java-如何让java中的GenericObject实现一个

Java 错误 - "invalid method declaration; return type required"

我们现在正在学习如何在Java中使用多个类,并且有一个项目要求创建一个包含radius的类Circlecode>和diameter,然后从主类中引用它来查找直径。此代码继续收到错误(标题中提到)publicclassCircle{publicCircleR(doubler){radius=r;}publicdiameter(){doubled=radius*2;returnd;}}感谢您的帮助,-AJ更新1:好的,但我不应该将第三行publicCircleR(doubler)声明为double,对吧?在我正在学习的书中,示例没有这样做。publicclassCircle{//Thisp

Java 8 : Generic type inference improvements

与JEP101:GeneralizedTarget-TypeInference,这个finalListbools=Arrays.asList(true,false,true);finalListstring=bools.stream().map(x->x?'X':'O').collect(Collectors.toList());应该可以简化为finalListbools=Arrays.asList(true,false,true);finalListstring=bools.stream().map(x->x?'X':'O').collect(Collectors.toList())

java - "Generic"原始数组的解决方案?

我有用于处理原始数组输入的类:char[]的CharArrayExtractor,byte[]的ByteArrayExtractor,int[]的IntegerArrayExtractor,...publicvoidCharArrayExtractor{publicListextract(char[]source){Listrecords=newArrayList();intrecordStartFlagPos=-1;intrecordEndFlagPos=-1;for(inti=0;iextract(byte[]source){//filterandextractdatafromth

Java 反射 : Checking the type of the method parameter at runtime

我需要检查方法第一个参数的类型是List>或不。有人能提出比将它与字符串进行比较更好的解决方案吗?Methodm=Foo.class.getMethod("m1",List.class);if(m.getGenericParameterTypes()[0].toString().equals("java.util.List>")){...}我的意思是这样的:List.class.isAssignableFrom((Class)((ParameterizedType)m.getGenericParameterTypes()[0]).getRawType()));检查它是否是一个列表。但是

java - "cannot find symbol: method"但声明了方法

在我的驱动程序中,这一行给我cannotfindsymbol错误,我不知道为什么。该方法在SavingsAccount类中明确定义,我可以在我的驱动程序中引用所有其他方法但不是那个,我尝试将类型更改为double,等等,但仍然无法正常工作。Accountacct2=newSavingsAccount(name);acct2.calculateBalance();SavingsAccount类继承自Account类:publicclassSavingsAccountextendsAccount{privatefinalshortminBalance=0;privatedoubleover