DEV Community

TANIAOKA, Akihiro
TANIAOKA, Akihiro

Posted on

9章8

このJavaのコードは、ArrayListに異なるタイプのオブジェクト(文字列"A"、整数10、文字'B')を追加し、その後で各オブジェクトをfor-eachループを使用して出力することを試みています。選択肢Fの説明は「[A10B] と表示される」というものです。これが正しい答えである理由を解説します。

import java.util.ArrayList; // ArrayListクラスをインポートします。

public class Main {
    public static void main(String[] args) {
        ArrayList list = new ArrayList<>(); // 新しいArrayListを作成します。
        list.add("A"); // ArrayListに文字列"A"を追加します。
        list.add(10);  // ArrayListに整数10を追加します。
        list.add('B'); // ArrayListに文字'B'を追加します。

        // ArrayListの各要素をループで取得して出力します。
        for (Object obj : list) {
            System.out.print(obj); // ここでobjを出力します。出力時に改行は行われません。
        }
    }
}
Enter fullscreen mode Exit fullscreen mode

このコードは以下の動作をします。

  1. ArrayListに文字列"A"が追加されます。
  2. ArrayListに整数10が追加されます。
  3. ArrayListに文字'B'が追加されます(ここでの'B'はシングルクオートで囲まれているので、char型として扱われます)。

for-eachループは、ArrayListの各要素を順番に取り出して出力します。この場合、ArrayListには3つの要素があり、それらが追加された順に"A", 10, 'B'と出力されます。System.out.printメソッドは改行をしないので、結果として[A10B]とコンソールに表示されることになります。

従って、選択肢F「[A10B] と表示される」というのが正しい答えになります。Javaでは、文字列、整数、文字など異なる型のオブジェクトをArrayListに格納でき、出力時にはそれぞれのtoString()メソッドが呼ばれて文字列として出力されます。ここでは整数も文字も文字列に変換されて連結されるため、このような出力になります。

Top comments (0)