A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 包志恒 黑马帝   /  2011-7-26 20:29  /  2515 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public class StringTest
{
        public static void main(String[] args)
        {
                String st = "中国a";
         int i= st.length();
                System.out.println(st.getBytes().length+" "+i);
        }
}
这个程序为什么是 5和3 呢  好像java 中 不是 英文字符和中文字符都用2个字节表示的么

评分

参与人数 1技术分 +2 收起 理由
admin + 2 问得不错!

查看全部评分

2 个回复

倒序浏览
黑马网友  发表于 2011-7-26 20:39:50
沙发
转成字节数组就不是了,从底层还是中文两字节,英文一字节的。只是Java给封装了,在字符层就都是两字节了

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马