我有一些看起来像这样的代码:
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)调用超类,并且我确实有另一个构造函数。答案 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);
}
}