问答详情
源自:2-11 Java常量的应用

关于println

final char Man = '男';

final char Lady = '女';

System.out.println(Man+Lady);


运行之后输出为52906,但是如果在println的括号中添加一个“1”边城(“1”+Man+Lady);输出的就是    1男女   了,这是为啥?println的输出类型默认是啥?为啥之前Man+Lady 输出的是52906?


提问者:Rule_mooc 2015-10-16 12:24

个回答

  • AAnonymous
    2015-10-16 12:49:01

    Java里char是两个字节存储的,char+char不是字符串拼接,类似于(int)Man + (int)Lady

    但是 “1”+XXX就不一样了,“1”是个字符串,+字符串会调用继承自Object类的toString()方法,这里是Character.toString()方法,所以变成了字符串拼接。