新たに可変長引数を受け取るメソッドsetValue(String... values)
をオーバーロード(追加)する。
つまり、以下のようにA
クラスを修正することで、可変長引数を受け取る要求に応じられます:
-
単一の文字列を受け取る既存の
setValue(String value)
はそのままにします。 -
複数の文字列(可変長引数)を受け取る新たな
setValue(String... values)
メソッドを追加します。
public class A {
private String value;
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value; // 既存のメソッド
}
public void setValue(String... values) {
StringBuilder sb = new StringBuilder();
for (String val : values) {
sb.append(val);
}
this.value = sb.toString(); // 新たなメソッド
}
public String toString() {
return getValue();
}
}
このようにすることで、A
クラスは単一の文字列または文字列の配列、いずれかを受け取ることが可能になり、Main
クラスでa.setValue(args);
を呼び出した際にエラーが発生しなくなります。
Top comments (0)