我在java接口(Constants)中定义了一个常量,如下所示:
public final static int DEFAULT_VAL = 2;这在我的代码中的几个JSP中使用,如下所示:
if (sample.hasModule(Constants.DEFAULT_VAL){
// some code
}但是,当我最近将常量的类型从int更改为long时,我在调用它的jsp上得到了一个noSuchMethodError,因为jsp中的Constants.DEFAULT_VAL仍然返回int而不是long。
我还将像hasModule这样的所有方法从以int作为参数更改为long。
java中的常量有什么特殊的处理方法吗?
谢谢!
发布于 2012-08-01 19:30:50
因为你只发布了一行我可以猜到。
JSP文件-as --使用Java来执行。Java允许你重写方法。
假设特定类中的方法具有方法'hasModule(int numer)‘。如果您将int值传递给该方法,则不会出现任何问题。如果您将一个long值传递给该方法,编译器或JVM虚拟机将查找名为'hasModule()‘且参数签名为long值的方法。如果Java没有找到那个方法,那么你的错误消息就是它的一个结果。
https://stackoverflow.com/questions/11757849
复制相似问题