質問: 0; i < arrInt.size(); i++) { intent.putExtra("arrStr", arrInt.get(i)); } } startActivity(intent); } ```
回答: `changeActivity(target, id)`のように第三パラメーター以降を省略可能にしたいということでしょうか。 他の言語ではメソッドを一つだけ定義していくつかのパラメーターを省略したり名前で指定という言語仕様を持っているものもありますね。javaではそうした仕様がありませんので異なる引数のメソッドとしてオーバーロードするほかは手がありません。定義が若干面倒ですが、こうすることで呼び出しの際に引数を省略した記述が可能です。 ``` // 基本のメソッド(引数の省略なしバージョン) void ca1(A req1, B req2, ArrayList opt1, ArrayList opt2) { ... } // オーバーロード(opt2を省略可能にしたバージョン) void ca1(A req1, B req2, ArrayList opt1) { ca1(req1, req2, opt1, null); } // オーバーロード(opt1, opt2を省略可能にしたバージョン) void ca1(A req1, B req2) { ca1(req1, req2, null); // ca1(req1, req2, null, null);とも書ける } // 必要なだけオーバーロードを定義する ... ```