0

私は次のようにJavaインターフェイス()で定義された定数を持ってConstantsいます:

public final static int DEFAULT_VAL = 2;

これは私のコードのいくつかのJSPで次のように使用されています。

if (sample.hasModule(Constants.DEFAULT_VAL){
    // some code
}

ただし、最近定数の型をからに変更したときint、 jspのはまだintを返し、長くはないため、jspでそれを呼び出していlongました。noSuchMethodErrorConstants.DEFAULT_VAL

また、パラメータとしてhasModuleの取得からになど、すべてのメソッドを変更しました。intlong

Javaの定数に特別な扱いはありますか?

ありがとう!

4

1 に答える 1

0

あなたはただの行を投稿したので、私は推測できます。

JSP ファイルは、承認が維持されるため、実行に Java を使用します。Java では、メソッドを上書きできます。

特定のクラスのメソッドにメソッド「hasModule(int numer)」があるとします。そのメソッドにint値を渡せば問題ありません。long 値をメソッドに渡すと、コンパイラまたは JVM はlong値のパラメーター シグネチャを持つ「hasModule()」という名前のメソッドを探します。Javaはそのメソッドを見つけられませんでしたか?エラーメッセージはその結果の1つです。

于 2012-08-01T11:30:50.010 に答える