-4

メソッドの戻り型がintであり、それが-1を返す場合、それは実際にはどういう意味ですか?

public int handle_get_multi_leg_net_quote(Message mmsg) throws Exception {          
        if (null != t) {
                     return 1;
        }
        return -1;
    }
4

4 に答える 4

4

Javaのintegerは署名されているため、負の数を返すことは問題ありません。これは通常、Javaで、整数を返す必要があるが、何かがうまくいかなかったという指示返す必要があるメソッドに使用されます。たとえば、特定の文字が見つからない場合は、見つからなかったことを示すために戻ります。String#indexOf(int ch)-1

booleanただし、特定のメソッドでは、代わりにreturnを返すか、whenisをスローする方Exceptionが適切だと思いtますnull。あなたの例に基づいて言うのは難しいです。

int:intデータ型は、32ビットの符号付き2の補数整数です。最小値は-2,147,483,648、最大値は2,147,483,647(両端を含む)です。

于 2012-09-10T10:14:44.160 に答える
0

これはJavaで書かれたcコードだと思います。これは例外をスローし、Javaの例外処理フレームワークを利用する必要があると思います。このコードはエラーを示すために-1を返していると思います。

私が思うに何が起こるべきか

public int handleGetMultiLegNetQuote(Message mmsg) throws Exception {          
    if (null == t) {
         throws new IllegalArugmentExeption("null t");            
    }
     return 1;

}

また、メソッド名をjavaの標準であるcamelCaseに変更しました。より多くの情報がなければ、何が起こっているのかを知ることは困難です。特に、メソッドに渡されていないtをチェックします。

私は完全に間違っている可能性があり、コードにコンテキストがある-1を返すだけである可能性があります。

于 2012-09-10T10:14:54.270 に答える
0

それは別の言語で書かれたコードのように見えます。おそらくそれはブール値または別のタイプのデータであると考えられていました。あなたができることの1つは、Javaに適応させる前に、他の言語で何をするかを理解することです。

于 2012-09-10T10:20:18.387 に答える
0

intはJavaでは32ビットです。ただし、これらのビットのうち実際に数値が含まれているのは31ビットのみであることを理解することが重要です。たとえば、Integer.MAX_VALUEは2^32-1ではなく2^31-1を返します。最上位ビット(最も左にあるビット)は「符号」ビットです。数値が正か負かを示します。0はこれが正の数であることを意味し、1はこれが負の数であることを意味します。

したがって、結論は
-1は整数です。

詳細については、リンクを参照してください:http:
//radio.javaranch.com/corey/2004/04/12/1081786778000.html

于 2012-09-10T10:22:07.730 に答える