Rule_mooc
2015-10-16 12:24
final char Man = '男';
final char Lady = '女';
System.out.println(Man+Lady);
运行之后输出为52906,但是如果在println的括号中添加一个“1”边城(“1”+Man+Lady);输出的就是 1男女 了,这是为啥?println的输出类型默认是啥?为啥之前Man+Lady 输出的是52906?
Java里char是两个字节存储的,char+char不是字符串拼接,类似于(int)Man + (int)Lady
但是 “1”+XXX就不一样了,“1”是个字符串,+字符串会调用继承自Object类的toString()方法,这里是Character.toString()方法,所以变成了字符串拼接。
Java入门第一季(IDEA工具)升级版
1165552 学习 · 17587 问题
相似问题