当我从toString()的return语句中删除+“”后运行程序时,会出现编译时错误。不知道为什么..请告诉它为什么会这样。
class Test
{
int i;
Test(int i)
{
this.i = i;
}
public int hashCode()
{
return i;
}
public String toString()
{
return i+"";
}
public static void main(String []args)
{
Test t1 = new Test(100);
Test t2 = new Test(110);
System.out.println(t1);
System.out.println(t2);
}
}
答案 0 :(得分:3)
var func = function () {
var i: number = 0;
var y: number;
if (i == 0) {
y = 1;
}
document.body.innerHTML = y.toString(); // js/ts should complain me in this line
};
方法的toString
类型为return
,因此您不能
String
因为你将返回return i;
;它需要转换为int
,&这正是
String
一样。您也可以使用
return i+"";
答案 1 :(得分:2)
由于i
的类型为int
return
方法类型toString()
为String
。
需要转换为String
。
所以用""
连字,结果是字符串i+""
。
""
内的任何内容都代表一个字符串。
答案 2 :(得分:0)
toString
返回String
。变量i
是int
。类型转换在此处不起作用,因此您需要通过将其与String
连接来将其转换为""
。