日期:2014-05-19  浏览次数:20845 次

汉字长度的问题,谢谢!
请看以下代码:

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楼的方法。(个人理解)。