java 不同类型间转换

任何类型数值和String类型遇到都会自动转换为String型?System.out.println(""+c);只有当c是char数组是才可以和String并值计算得到... 任何类型数值和String类型遇到都会自动转换为String型?
System.out.println(""+c);只有当c是char数组是才可以和String并值计算得到地址?如果c是char变量就不行?
展开
 我来答
浴江河
2013-12-22 · TA获得超过149个赞
知道答主
回答量:25
采纳率:0%
帮助的人:31.8万
展开全部

问题1:

这个说法是不准确的,应该是任何基本数据类型,因为String这个对象比较特殊,其实,它也是对char型的“封装”,char也可以说是整数型的变量,因为JAVA用的是UNICODE编码,类如,char c=97 跟char o='a',这两个是相等的,char c=97,int i=c;这样语法也是对的,char的范围是0~255,对应的每个数值都有相应的字符,比如char c=98,则c='b',比如现在有个字符串String s="info",则对String的处理是这样的,java.lang.String 对象中的数据是一个字符数组,由管理和控制对字符数组的访问的
java.lang.String 对象封装。

所以当基本数据类型遇到String的时候,确切的讲是将其变为char型数组,然后交由String这个对象来管理和控制。所以也就是通常所说的“任何基本数据类型遇到String时,都会自动转换成String型”

问题2:

如1所言,只有基本数据类型才会自动转换为String,当数据类型是引用(类)或数组的时候,此时自动调用引用(类)或数组对象的继承自Object类的toString方法,如果没有覆写toString方法,则自动输出实例化对象的堆内存地址(当然这么说不一定准确,但是输出的一定是个内存地址)。

所以,你这两个问题归根到底就是一个问题。就是当遇到String类型的时候,基本数据类型(如,char,int,byte,short等)会转成String类型,引用(类)/数组会自动调用继承自Object类的toString方法,如果toString没有被覆写,则自动返回此实例化对象的堆内存地址。

zjf_1175
2013-12-22 · TA获得超过407个赞
知道小有建树答主
回答量:297
采纳率:0%
帮助的人:120万
展开全部
任何类型数值和String类型遇到都会自动转换为String型?
关于这个问题我想你是不是指的是当使用String类型数据和其他类型数值类型数据进行相连接时(简单情况下通常使用 + 连接),如果是这样的话,那就是把数值类型转换为String类型和前面的String数据结果进行连接得到最终的String类型数据
至于System.out.println(""+c);只有当c是char数组是才可以和String并值计算得到地址?
不是如你所说,首先如果c是char类型数组,在java中仍让会把char数组出来成字符串和前面的字符串进行连接并输出最终结果,通常引用类型(char 数组就是引用类型)会把它描述为对象的字符串表示形式,如char数组会描述字符串形式类似于[C@1e5e2c3
更多追问追答
追问
输出引用不是就是地址??
追答
不是地址,就是连接处理后的字符串而已
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ok千层锦
2013-12-22 · 超过13用户采纳过TA的回答
知道答主
回答量:46
采纳率:0%
帮助的人:31.9万
展开全部
String str="s";
char[] ch=new char[2];
ch[0]='a';
char ch2='c';
System.out.println(str+1);//s1
System.out.println(str+ch[0]);//sa
System.out.println(str+ch2);//sc
这种问题就是要通过写程序来验证的。所以说当使用String类型数据和其他类型数值类型数据进行相连接时(简单情况下通常使用 + 连接),那就是把数值类型转换为String类型和前面的String数据结果进行连接得到最终的String类型数据。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
302652034_bai
2013-12-22 · TA获得超过4146个赞
知道大有可为答主
回答量:2206
采纳率:66%
帮助的人:1600万
展开全部
不会自动的转换为String,需要调用String类的ValueOf()方法来转换。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式