这种数值转字符串是什么道理?
我在网上看到三种数值转换成字符串的方法,请问第一种是什么原量?
public class Test
{
public static void main(String[] args)
{
int a = 6;
System.out.println(a+""); //这种方法是什么道理?
System.out.println(String.valueOf(a));
System.out.println(((Integer)a).toString());
}
}
------解决方案--------------------这个是利用java语言的特性的写法
任何对象和String相加时会先调用对象的toString()方法
相当于 Object.toString() + ""
------解决方案-------------------- int 类型s+""就相当于s.toString();
------解决方案--------------------错了 int是基本类型 没有 toString方法,应该是 int对应的类Integer的toString()方法
------解决方案--------------------
System.out.println(a+a+""); //这种方法是什么道理?
System.out.println(a+""+a); //这种方法是什么道理?
System.out.println(""+a+a); //这种方法是什么道理?
类似!
------解决方案--------------------int会自动封装成包装类integer包装类,然后调用包装类的toString方法,完成字符串相加
------解决方案--------------------
public class Test2 {
public static void main(String[] args) {
int i = 5;
String strI = i + "123";
}
}
生成Test2.class文件后,运行javap -c Test2
1.调用String.valueOf方法,将i转换为String类型
2.调用StringBuilder."<init>"方法,将先前生成的String初始化到StringBuilder中(具体调用StringBuilder的哪个方法,我不知道)
3.调用String.append()方法,将字符串"123"添加进去,如果是空字符串(""),省略这步
4.调用StringBuilder.toString()方法,打印。
请参考以下连接
http://stackoverflow.com/questions/4105331/how-to-convert-from-int-to-string