请看以下代码:
- Java code
String name1="abc"; System.out.println(name1.length()); String name2="我是谁"; System.out.println(name2.length());
为什么打印结果都是3?
第二个的打印结果应该是6才对,因为一个汉字占两个字节呀。
请帮我解和答,谢谢!
------解决方案--------------------
- Java code
String str1="呵呵"; System.out.println(str1.length()); System.out.println(str1.getBytes().length);
------解决方案--------------------
一个汉字在不同的时候,可能占2个,3个,四个,都是有可能的。
------解决方案--------------------
java String是unicode 字符序列,其length()方法返回的是字符的数量。“我是谁”是3个字符,所以返回3。楼主要看字符串占多少字节,用3楼的方法。(个人理解)。