java中字符串和数字相加的问题

List a = new LinkedList()

for(int i=1 ;i<5;i++)
a.add("AA"+i);

这里面的 “A”+i 计算得到的事字符串AA1 AA2 AA3 AA4吗?为什么字符串和数字相加得到字符串,
若 a.add(’A‘+i); 这里A设为字符 的话,‘A'+i 会不会是A的编码98 +i 从而得到int型数字?
我想知道其中的具体原理。谢谢

字符串和数字直接相加,是把数字当成了字符串,这是JAVA的装箱机制,最终相当于字符串的连接,这不属于数学运算,“AA”+i得到的确实是AA1,AA2等等,而字符和数字相加是先把字符转化成数字,然后当成数学运算来计算的,最终是整数,因为整型的计算级别比字符高,就好比浮点型又比整型高一样,这属于数学运算。
温馨提示:答案为网友推荐,仅供参考
相似回答