(Java)如何修复不兼容的类型错误

时间:2017-10-12 00:17:31

标签: java compiler-errors

我有一些看起来像这样的代码:

public class Name { 
    private char initial1;
    private char initial2;

    public Name(char initial1, char initial2) {
        this(initial1 + initial2);
    }
    public String toString() {
        return initial1 + initial2;
    }
}

当我编译时,我得到2个错误说:"不兼容的类型:int无法转换为String"用箭头指向" +"迹象。 我该如何解决?任何帮助表示赞赏。谢谢!

编辑:我忘了提到我使用this(initial1 + initial2)调用超类,并且我确实有另一个构造函数。

2 个答案:

答案 0 :(得分:0)

char被视为一个字节,因此initial1 + initial2返回一个字节而不是字符串。你想要的是先将它转换为字符串,然后连接:

public String toString() {
    return Character.toString(initial1) + Character.toString(initial2);
}

答案 1 :(得分:0)

您的构造函数也是错误的

public class Name { 
  private char initial1;
  private char initial2;

  public Name(char initial1, char initial2) {
    this.initial1 = initial1;
    this.initial2 = initial2;
  }

  public String toString() {
    return String.format("%c%c", initial1 , initial12);
  }
}