我的理解是基本数据类型和包装类Integer,是自动挂钩在一起的。。
是这样吗??

解决方案 »

  1.   

    理解错误了.
    int是基本类型.虽然java可以在运行的时候自动装包和拆包.
    但是和你这里说的a.toString没啥联系.如果是对象的话,可以调用他的.toString()方法.但是这里的a是基本类型,根本里面啥方法都没有啊.
    如果实现把int 变成String的话,有2个方式:
    int a=3;
    1. String b = ""+a;
    2. String b = String.valueOf(a);
      

  2.   

    PS: Method toString() is derived from Object
      

  3.   

    int a = 3;
    System.out.println(String.valueOf(a).toString());
      

  4.   

    object里面有最原始的toString方法。
    例如String类和Integer类都重载了Object的toString方法,这2个类的实例化对象都能够调用被重载的toString方法,而int a =3,a是基本类型,它是不包括任何方法的,所以就不能这样调用toString方法了。也可以这样用:String str = new Integer(a).toString();
      

  5.   

    我的理解是基本数据类型和包装类Integer,是自动挂钩在一起的。。 
    是这样吗??肯定不是啦。
    Integer a = 3; 
    a.toString();
    或者是
    int a = 3;
    ((Integer)a).toString()
      

  6.   

    没错,我刚写过一个toString方法,它是对象的方法,这里不能用的
      

  7.   

    简单数据类型并不等同于类的对象,是不可以调用超类Object和toString()方法的。
    Object类的toString()方法返回当前对象的字符串表示。通常,toString 方法会返回一个“以文本方式表示”此对象的字符串。结果应是一个简明但易于读懂的信息表达式。建议所有子类都重写此方法。
    Object 类的 toString 方法返回一个字符串,该字符串由类名(对象是该类的一个实例)、at 标记符“@”和此对象哈希码的无符号十六进制表示组成。换句话说,该方法返回一个字符串,它的值等于:getClass().getName() + '@' + Integer.toHexString(hashCode()) 
      

  8.   

    String str = new Integer(a).toString(); 
      

  9.   

    Java 还没做到完全面向对象,基本类型不是对象,不能使用 . 运算符。