常量中的更改不会在JSP上生效

  • 本文关键字:JSP 常量 java jsp
  • 更新时间 :
  • 英文 :


我在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并且不长。

我还将所有类似hasModule的方法从以int为参数更改为long

java中对常量有什么特殊处理吗?

谢谢!

因为你只发布了一行,我只能猜测。

JSP文件——作为通知的目的——使用Java执行。Java允许您覆盖方法。

假设特定类中的方法具有方法"hasModule(int numer)"。如果将int值传递给该方法,则没有问题。如果将长值传递给该方法,编译器或JVM将查找名称为"hasModule()"、参数签名为long值的方法。Java没有找到那个方法吗,您的错误消息就是它的结果之一。

最新更新