字符串和多个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')相关文章推荐
- char*数组(c类型字符串)和c++中的string的转换、字符串比较、char*数组等问题
- char*数组(c类型字符串)和c++中的string的转换、字符串比较、char*数组等问题
- Java中char数组(字符数组)与字符串String类型的转换方法
- 关于值类型、引用类型和字符串类型的比较问题!通过实例来说明!
- 关于hibernate查询sqlserver时char类型只能取第一个字符的问题
- 解决 oracle查询时char类型为character只显示一个字符的问题
- Mysql等数据库对于版本号类型字符串的比较问题的思考
- C++ 中string类型和 C风格 char类型字符串比较
- C++中string类型与char*类型的字符串比较剖析
- char*数组(c类型字符串)和Vc++中的CString的转换,char*数组等问题
- 字符串问题---找到被指的新类型字符
- SQLQuery 查询Oracle char类型返回一个字符有关问题
- sql 查询处理char类型和text类型比较的问题
- C# 中字符串“1.0”和数据库中char(10)类型的字段值“1.0”比较。
- java字符串特殊替换及无法比较字符问题
- sql char类型与字符个数问题
- 关于char(n)类型引起的字符串判断问题
- iphone 移植时碰到到问题 二: 宽字符串 忽略 字符大小的比较 wcscasecmp wcsncasecmp
- c语言 char*类型作为中间变量将许多字符串保存到一个数组的问题
- 657. Judge Route Circle(字符串转换成字符比较问题)