1.int a=10;
(1)System.out.println(a.toString());
(2)System.out.println((String)a);
的区别?

解决方案 »

  1.   

    int类型的toString()编译就通不过的吧!
    不过对于能编译通过的数据类型,后者在对象是null的时候可以避免java.lang.NullPointerException.
      

  2.   

    其实两个都无法编译通过,但是为什么上面两个方法都不行,而System.out.println(a+"");就行呢
      

  3.   

    这中问题是涉及到java 自动转型的规则  对于两个不同种类的类型  如你所说 int a = 10 ; a+""
    一样 a 是 基本类型  "" 是 String 类型 两者通过  ‘+’相连接 会自动转换到大类型的种类 也就是String
    类型 也即使说  a+""的类型是 String   String类 有toString这个方法所以编译会通过执行的  希望对你有些帮助
      

  4.   

    既然你的a是int类型,那么a.toString()肯定是不行的。可以这样String.valueOf(a).
    不看你的a.toString()的错误,那么.toString();就是直接转换成String类型,而(String)的话是强制装换成String类型。
      

  5.   

    toString方法是Object的方法,int只是基本类型,不继承Object,所以没有toString方法。如这样声明,Integer a = 20;则可以调用toString()方法。
    (String)a 意味着转型,String与int本来就是不同的数据类型,是不可以转型成功的,所以报错。
      

  6.   

    两者都无法通过编译
    对于整数a没有一个toString() 方法的应用
      

  7.   

    1.int a=10;
    (1)System.out.println(a.toString());
    (2)System.out.println((String)a);
    的区别?
     
    可以这样调用toString方法
    Integer it = new Integer(a);
    it.toString;
    而直接用a调用是不可以的,因为a就是一个int类型数据。
    (2)
    (String)a是把a强转成了String,这样是不可以的,而可以通过方法来实现这样的转换的
    Integer.toString(a) 或者 String.valueof(a)  具体的你还可以看API重的String类和Integer类
    解释的不对的地方请大家指教,共同学习。
      

  8.   

    大哥,用 toString()方法的时候,你的引用的应该是对象吧,而a只是基本数据类型,是没有 toString()方法的,如果是 Integer就可以吧,楼上说了的,确实方法都应该无法通过编译的!