Java 构造函数链接并避免代码重复

标签 java

我有不可变的类,并且想要添加新的构造函数,而不在两个构造函数中重复代码。

我有课:

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/

相关文章:

java - java(编译器或jvm)是否以不同方式处理类的静态最终成员?如果是如何

java - 如何使用 javax.swing.text.html 从 HREF 标记获取完整/绝对链接?

java - cobertura maven 插件是否不适用于接口(interface)中的 java8 默认方法声明?

java - 动态导入h2中的csv

java - Java中如何确定最接近0.0或1.0的 float

java - 将参数设置为 IN 表达式的列表

java - 用于分析 eclipse 插件的工具

java - 检查 facebook 用户是否从 java 中的服务器端连接到应用程序

java - Android:清除 Activity 堆栈

c# - 为什么 C# 中没有并发集合?