Sun Certified Programmer for the JAVA 2 Platform

問題 (2019年5月21日)

以下のプログラムのコンパイル・実行結果はどれか。

class Test{
    public static void main(String[] args){
        StringBuffer stb new StringBuffer( "AB" );
        stbChange( stb );
        System.out.print( stb );
    }
 
    public static void stbChange( StringBuffer stb ){
        stb.append( "CD" );
    }
}

○ 3. 正解です!

【解説】 stbChange()メソッドの引数としてStringBufferオブジェクトへの参照が渡されます。
そのため、main()メソッドのstbとstbChange()メソッドのstbは同じオブジェクトを参照します。
stbChange()メソッド内でappend()メソッドにより文字列"CD"が追加され、
その後main()メソッドで表示するため、"ABCD"を出力します。

ITトレメの問題や解答、サービスに関するお問い合せはこちらまで
@IT自分戦略研究所フォーラム 新着記事
- PR -