当前位置: 代码迷 >> J2SE >> 请问。ToString有关问题
  详细解决方案

请问。ToString有关问题

热度:111   发布时间:2016-04-23 20:30:39.0
请教。ToString问题
程序代码是这样的
public class Main {
public static void main(String[] args) throws Exception{
     Object f=2;
     String s=f.toString();
     System.out.println(s);
}
}
f=2是装箱操作
f.toStrig()应该是取首地址,为什么输出结果是2呢?
------解决方案--------------------
这样相当于
Object f = new Integer(2);
String s = f.toString();  // 调用Integer的toString,2转换为字符串为 "2"
System.out.println(s);  // 此时s的值是 "2",当然输出是2

------解决方案--------------------
在你  Object f=2;
java程序会把2放进下面这个方法的i中,至于为什么是integer,那是因为父类引用指向子类实体对象的原因;
public static Integer valueOf(int i) {
        return new Integer(i);
    }
----------------------------------------------
String s=f.toString();
会把实体对象的值打印出来
public String toString() {
        return toString(value);
    }
  相关解决方案