1

int の値を返すメソッドがあり、メソッドが値を返すかどうかを確認したいのですが、どうすればよいですか?

> 0以下のように大なりを使用して実行しようとしましたが、メソッドが値を返すかどうかではなく、特定のものをチェックしているため、これが正しい方法であるかどうかはわかりません。

if (Type.FixedLength() > 0)  {

    //do something...

}

よろしくお願いします

4

4 に答える 4

6

anintはプリミティブ データ型であるため、関数は を返さなければintならず、返すことができないためnull、常に「値」を返します。

非結果またはエラー状態を返す標準的な方法はInteger.MIN_VALUE、期待される結果が正である場合など、期待される結果の典型的な範囲からはるかに離れたものを使用することです。

classまた、名前を大文字で始めることもお勧めします。したがって、関数の名前はType.fixedLength().

于 2012-10-29T16:35:48.567 に答える
5

を返すメソッドintは常に値を返します。それ以外の場合はコンパイルされません。

于 2012-10-29T16:37:05.333 に答える
0

メソッドの前にデータ型がある場合、つまり、この場合は常に値 int が返されます。ただし、返された値のチェックを探している質問なので、次を使用できます。

System.out.printf("Returned value is: %d", Type.fixedLength());

これは、戻り値を何らかの方法で確認する方法です。

それが役に立てば幸い

于 2012-10-29T18:16:47.090 に答える
0

メソッドは、リターン、例外のスロー、プログラムのブロックという 3 つの基本的なことを行うことができます。戻り値の型が宣言されているメソッドは、常にその型の値を返します。したがって、コードがコンパイルされ、プログラムが例外なしで終了する場合、メソッドは値を返します。

メソッドが期待値を返すかどうかを確認する簡単な方法が 2 つあります。

  1. 値を変数に格納し、if ステートメントの前にその変数をコンソールに出力します。このような:

    int fixedLength = Type.FiixedLength(); System.out.println(fixedLength); if(fixedLength > 0){ //コード }

  2. デバッガを使用します。

于 2012-10-29T16:49:28.073 に答える