我有不可变的类,并且想要添加新的构造函数,而不在两个构造函数中重复代码。
我有课:
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()”构造函数,但这是不可能的。
最佳答案
public Test(char s) {
this(Character.isLetter(s) ? "firstReallyLong" + s + "DefaultString" : "firstReallyLongDefaultString");
}
关于Java 构造函数链接并避免代码重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16081790/