1

こんにちは,作品で問題が発生しました。次のような質問です。

Integer test1=null;
Integer test2=null;

私はそれらを次のように呼びます:

test2=(test1==null?test1:(test1+1));
test2=(test1==null?test1:-1);

次に、Java が NullPointerException をスローするので、次のような別のコードを記述します。

test2=(test1==null?test1:test1); 

このコードは大丈夫です。

しかし、なぜ?

4

3 に答える 3

2
test2=(test1==null?test1:(test1+1));

と同等です

   if(test1==null)
{
    test2 = test1;
}

else{

   test2 = test1 + 1;    
}

nullに対して操作を実行できないことに注意してください(ここでは、 null + 1 と同等の test1 + 1 を実行しています。したがって、Null Pointer Exceptionが発生します)

ハッピーコーディング:)

于 2013-08-08T11:36:50.560 に答える
0

次のようにします。

test2=(test1==null?test1: new Integer(test1+1));
test2=(test1==null?test1: new Integer(-1));
于 2013-08-08T11:33:32.370 に答える