不変のクラスがあり、両方のコンストラクターでコードを複製せずに新しいコンストラクターを追加したい。
授業がある:
public class Test {
private final String stringParameter;
public Test() {
stringParameter = "firstReallyLongDefaultString";
}
public Test(String s) {
stringParameter = s;
}
}
そして、次のような「char」パラメーターを使用して新しいコンストラクターを追加したいと思います。
public Test(char s) {
if(Character.isLetter(s)) {
stringParameter = "firstReallyLong" + s + "DefaultString";
} else {
stringParameter = "firstReallyLongDefaultString";
}
}
長い文字列のコードの繰り返しなしでそれを行うにはどうすればよいですか? else ブランチで "this()" コンストラクターを呼び出したいのですが、それはできません。