Java中字符串的连接问题
publicclassTest{publicstaticvoidmain(String[]args){intnumber1=5;intnumber2=4;Stringst...
public class Test {
public static void main(String[] args) {
int number1 = 5;
int number2 = 4;
String str= "ab";
str = str+number1 +number2;
System.out.println(str);
}
}
这个的运行结果是ab54,但是如何从后台的实现来解释呢?String类在后台是通过数组来实现的,数组是如何与int型变量来是实现拼接的呢,不明白。 展开
public static void main(String[] args) {
int number1 = 5;
int number2 = 4;
String str= "ab";
str = str+number1 +number2;
System.out.println(str);
}
}
这个的运行结果是ab54,但是如何从后台的实现来解释呢?String类在后台是通过数组来实现的,数组是如何与int型变量来是实现拼接的呢,不明白。 展开
展开全部
首先String是对象类型,这里面是强制转化的问题,低精度向高精度强制转化,当字符串和整形拼接时,自动按字符串进行拼接就不是计算了。简单的说:
int + int + String的话先计算int + int,再跟字符串string拼接。String + int + int 就是三个字符串拼接了。
int + int + String的话先计算int + int,再跟字符串string拼接。String + int + int 就是三个字符串拼接了。
追问
这样解释的我可以理解,我也是这么想的。但是我看了String类的后台实现,是通过value[]来实现的,那value[]数组是如何与int型的变量进行连接的呢?从这个方面来理解的话,我有点想不明白,就想知道从后台数组实现方面,怎么实现连接的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询