0

この質問は本当の質問というよりはパズルのようなものですが、

この方法の何が問題なのですか:

public boolean areEqual(Long a, long b)
{
return a==b;
}
4

5 に答える 5

5

NullPointerExceptionifaがスローされる可能性があるという事実を除けば、問題はありませんnull(自動アンボックスはNPEをスローします)。

于 2013-02-13T15:24:20.067 に答える
2

場合によります...

たとえば、最初の引数としてnullを渡すと(可能です)、オブジェクトで呼び出されるNullPointerExceptionため、が得られます。toLongValue

于 2013-02-13T15:24:56.000 に答える
0

自動ボクシング/アンボクシングによる

この方法には何も問題はありません(まあ、anullの場合のみ、NPEをスローできます)...

しかし、間違っていることが悪い習慣を意味する場合は、適切なインデントを使用しておらず、Javaコーディング規則(最初の行の括弧)に従わないでください。

于 2013-02-13T15:24:29.167 に答える
0

値はnull(ロングタイプ)にすることはできませんが、bは(ロングタイプ)にすることはできません。したがって、a == nullの場合、a==bはnullポインターを引き起こします。

于 2013-02-13T15:29:11.300 に答える
0

long a は long 値へのポインターである必要があります

long b は long 値でなければなりません

したがって、equal をテストする場合は、ポインター (値) と long 値をテストします。

于 2013-02-13T15:26:18.230 に答える