为什么我们使用双引号作为回报i +“”;

时间:2016-01-27 06:59:26

标签: java

当我从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);
        }
    }

3 个答案:

答案 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。变量iint。类型转换在此处不起作用,因此您需要通过将其与String连接来将其转换为""