黑马程序员技术交流社区

标题: 一个简单的小问题 [打印本页]

作者: 、__WSD吴少东    时间: 2013-4-13 17:36
标题: 一个简单的小问题
本帖最后由 、__WSD吴少东 于 2013-4-13 18:22 编辑

今天在看视频的时候,有个疑问,
为什么
3+“”;

String.valueOf(3)
是同一个意思?
是不是强制转换?
求指点一二....
作者: 林声荣    时间: 2013-4-13 18:01
当代码中,数字与字符串相加的时候,该" + "号就成了字符串连接符合,输出结果就是字符串了;如:System.out.println(5+5+"5" +5)结果就为1055;
在API中String 类中有方法体:valueOf
public static String valueOf(int i)返回 int 参数的字符串表示形式。
该表示形式恰好是单参数的 Integer.toString 方法返回的结果。
参数:
i - 一个 int。
返回:
int 参数的字符串表示形式。
另请参见:
Integer.toString(int, int)

作者: 杨修    时间: 2013-4-13 18:13
1.整数和字符串相加是利用+连接符把两个部分转化为一个字符串,而你里面的""代表的是空字符串,因此,整数3就直接转化成了字符串"3";
2.String valueOf(3),是通过直接调用String类中函数valueOf(x),然后在函数内部将x转化成字符串,然后返回,返回值就是String类型。
作者: 、__WSD吴少东    时间: 2013-4-13 18:22
林声荣 发表于 2013-4-13 18:01
当代码中,数字与字符串相加的时候,该" + "号就成了字符串连接符合,输出结果就是字符串了;如:System.ou ...

大概清楚了。谢了,哥们
作者: 、__WSD吴少东    时间: 2013-4-13 18:22
杨修 发表于 2013-4-13 18:13
1.整数和字符串相加是利用+连接符把两个部分转化为一个字符串,而你里面的""代表的是空字符串,因此,整数3 ...

Soga///谢谢,受教了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2