日期:2014-05-20  浏览次数:20825 次

int a=3. 能不能使用 a.toString()这个函数
我的理解是基本数据类型和包装类Integer,是自动挂钩在一起的。。
是这样吗??

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

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

也可以这样用:

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



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

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

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