草庐IT

java - 为什么我在调用 JasperFillManager 时在 java.lang.Class.isAssignableFrom(Native Method) 处得到 java.lang.NullPointerException?

当我在其参数中传递sql连接时,JasperFillManager抛出一个空指针异常,但当我传递JRResultSetDatasource时它运行正常。java.lang.NullPointerExceptionatjava.lang.Class.isAssignableFrom(NativeMethod)atnet.sf.jasperreports.engine.fill.JRFillTextField.getFormat(JRFillTextField.java:706)atnet.sf.jasperreports.engine.fill.JRFillTextField.evalu

Java : Accessing static method properly

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

java - 如何更好地重构可以在 java 中返回 null 的方法链?

我有这样的代码:obj1=SomeObject.method1();if(obj1!=null){obj2=obj1.method2();if(obj2!=null){obj3=obj2.method3();if(obj3!=null){............returnobjN.methodM();}}}....我有将近10步。它看起来非常脆弱且容易出错。有没有更好的方法来检查空链方法?谢谢。 最佳答案 您可以使用java.util.Optional.map(..)链接这些检查:returnOptional.ofNullable

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

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

Java ArrayList 删除对象 - IndexOutOfBoundsException

我试图从ArrayList中删除一个对象,但我一直收到IndexOutOfBounds错误。现在有大量可用的信息可以说明为什么在迭代ArrayList同时删除时会发生这种情况,但我没有这样做。示例:ArrayLista=newArrayList();a.add('A');a.add('B');a.add('C');System.out.println(a);a.remove('A');System.out.println(a);打印[A,B,C]然后失败:java.lang.IndexOutOfBoundsException:Index:65,Size:3atjava.util.Arr

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 - 是否可以静态地反射(reflect)一个java方法?

有没有办法在Java中静态引用反射方法。下面是一些示例代码,可让您了解我正在尝试的内容:publicvoidmyFunc(intx){...}publicvoidother(){Methodm1=getClass().getMethod("myFunc");//dynamicMethodm2=this.myFunc;//staticMethodm3=MyClass.myFunc;//static(alternate)}我知道上面的语法不起作用,但我想知道是否有某种类似于此的语法确实有效。我想要一种使用反射的方法,而不必担心通过字符串引用方法的固有危险。有没有办法做到这一点,还是白日做梦

java - 帮助理解 protected 方法的问题

我正在阅读SybexCompleteJava2CertificationStudyGuide2005年4月(ISBN0782144195)。本书适用于想通过java认证的java开发者。在关于访问修饰符(以及其他修饰符)的一章之后,我发现了以下问题(#17):Trueorfalse:IfclassYextendsclassX,thetwoclassesareindifferentpackages,andclassXhasaprotectedmethodcalledabby(),thenanyinstanceofYmaycalltheabby()methodofanyotherinsta

java - 泛型类中具有相同签名的抽象和具体方法

在JLS8,Section8.4.8.1有一个声明:AconcretemethodinagenericsuperclassCcan,undercertainparameterizations,havethesamesignatureasanabstractmethodinthatclass.Inthiscase,theconcretemethodisinheritedandtheabstractmethodisnot.TheinheritedmethodshouldthenbeconsideredtooverrideitsabstractpeerfromC.任何人都可以为泛型类提供这种

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()));检查它是否是一个列表。但是