この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を出力します。出力時に改行は行われません。
}
}
}
このコードは以下の動作をします。
-
ArrayListに文字列"A"が追加されます。 -
ArrayListに整数10が追加されます。 -
ArrayListに文字'B'が追加されます(ここでの'B'はシングルクオートで囲まれているので、char型として扱われます)。
for-eachループは、ArrayListの各要素を順番に取り出して出力します。この場合、ArrayListには3つの要素があり、それらが追加された順に"A", 10, 'B'と出力されます。System.out.printメソッドは改行をしないので、結果として[A10B]とコンソールに表示されることになります。
従って、選択肢F「[A10B] と表示される」というのが正しい答えになります。Javaでは、文字列、整数、文字など異なる型のオブジェクトをArrayListに格納でき、出力時にはそれぞれのtoString()メソッドが呼ばれて文字列として出力されます。ここでは整数も文字も文字列に変換されて連結されるため、このような出力になります。
Top comments (0)