-5

equals長い値では使用できませんでした:

    long a = 20; //or 20L
    long b = 20; //or 20L
    if(a.equals(b)) {
        //do
    }

エラー: プリミティブ型 long で equals(long) を呼び出せません

また==、長い値では機能しません。

long 値が等しいかどうかを確認するにはどうすればよいですか?

4

4 に答える 4

5

==長い値で動作します。

于 2014-03-18T11:55:05.087 に答える
4

==primitive値の比較に使用される演算子と比較にequals()使用されるメソッドObject

はプリミティブ型であるため、以下のようにプリミティブ型データに演算子longを使用する必要があります...==

if(a == b ) {
    //do
}

は2をequals()比較するために使用され、 のタイプです。インスタンスをタイプとして宣言すると、以下のようにメソッドを使用できます...ObjectLongObjectlongLongequals()

Long a = 20;
Long b = 20;

if(a.equals(b)) {
    //do
}
于 2014-03-18T11:55:32.983 に答える
2

プリミティブ データ型の場合は、 を使用する必要があります==

オブジェクトの場合は、関数を使用する必要がありますequals

あなたの場合は次のようになります。

long a = 20; //or 20L
long b = 20; //or 20L
if(a == b) {
    //do
}
于 2014-03-18T11:56:41.987 に答える
1

==を使用する場合は、次のように機能longしますequals

Long a = new Long(20);
Long b = new Long(20);
if(a.equals(b)) 
于 2014-03-18T11:58:30.587 に答える