Java SE 17 Gold (1Z0-826-JPN) 試験 / コレクションとジェネリクス ・ 無料問題 1/3
コレクションとジェネリクス 問題1[オート・ボクシングの使用]
次のコードを実行したときの出力を選んでください。
public class Main { public static void main(String[] args) { Integer a = 127, b = 127; Integer c = 128, d = 128; System.out.println((a == b) + " " + (c == d) + " " + c.equals(d)); }}選択肢
- A.true false true正解
- B.true true true
- C.false false true
- D.true false false
解説
オートボクシングは Integer.valueOf を使い、-128〜127 の値はキャッシュされた同じオブジェクトを返します。そのため a == b は true ですが、128 は毎回別のオブジェクトになるので c == d は false です。equals は値を比べるので true です。ラッパー型どうしを == で比べると参照の比較になる点に注意しましょう。
Java SE 17 Gold (1Z0-826-JPN) 試験 の他の分野の無料問題
ここで公開しているのは無料範囲の問題です。無料登録すると、解答の記録・ダッシュボードでの復習ができ、 プレミアムならこの問題セットの全問題と本番形式の模擬試験も解けます。