Okapi Project   Web technological site for the beginner... Top

無駄なオブジェクト?

このプログラムでは、while 文の中で ConsoleInput() のインスタンスを作成しています。つまり、ループ処理を繰り返すたびに毎回新たなインスタンスが作成されることになります。10回処理を行なうと、10個のインスタンスが作成されます。

毎回新たにインスタンスを作成しなければならない場合もありますが、ここでは新たに作る必要は全くありません。

では、どうプログラムを修正すればよいのでしょうか?

ループ処理の中でインスタンスを作成しているので、ループの外でインスタンスを作成するようにすれば良いのです。

先ほどのプログラムの main メソッド

public static void main(String[] args) throws IOException {
    while(true){
        ConsoleInput ci = new ConsoleInput();
        String inputValue = ci.getConsole("入力してください。");
        if (inputValue.equals("end") 
                || inputValue.equals("END")){
                    
            System.out.println("終了しました。");
            break;
        }else{
            System.out.println("入力内容:" + inputValue);
        }
    }
}