您的位置:首页 > 其它

字符串和多个char类型的字符相加比较问题

2011-07-11 09:05 573 查看

错误案例

【现象描述】表面看上去内容一样的字符串和单个字符拼接比对,结果永远为false
【错误代码】 "34".equals('3' + '4')

错误分析

当且仅当+操作符的操作数中至少有一个是String类型时,才会执行字符串连接操作;否则,执行加法。
如:在本例中'3' + '4'得到的结果是整型数值103,而不是字符串"34"。
如果是字符'a' + 'b'得到的结果是a,b字符的ASCII码相加的整型数值。
根据这样的情况,可以有几种选择:
1、 预置一个空字符串("" + 'a' + 'A')
2、 将第一个数值用String.valueOf()显示地转换成一个字符串(String.valueOf('a') + 'A')
3、 使用一个字符串缓冲区(sb.append('a');sb.append('A'););

正确用法

"ab".equals("" + '3' + '4')
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: