课程
/后端开发
/Java
/Java入门第三季
String str =“学习 JAVA 编程 ”这个字符串的长度为什么是10啊, 而且‘编’这个字为什么在第8个字符位置上 求问
2017-03-09
源自:Java入门第三季 2-3
正在回答
这里是按Unicode计算字符串长度,而不是以字节单位获得字符串的长度,所以汉字的长度是1,不是2,加上两个空格长度就是10,另外字符串中字符的索引是从0开始的,所以str.indexOf(编)=8,表示的是在第9个字符位置上。
qq_周_16 提问者
xiaoxin3839519 回复 qq_周_16 提问者
你是不是java前有空格。。。
java中string的length()取出来的是字符长度而不是字节长度中文一个字符是占两个字节的一个英文字母占一个字节所以如果 有字符串tmpString = "中国acb"则tempString.length()的结果是5
这里有一篇文章
http://bbs.csdn.net/topics/60386039
根据这个输出,我认为编译器对汉字和空格,英文都看做是一个字符
举报
Java中你必须懂得常用技能,不容错过的精彩,快来加入吧
2 回答关于字符串与数组长度的问题
3 回答字符串长度问题
4 回答字符串长度怎么算的
2 回答长度10以内的10个不同长度的字符串
1 回答关于字符串的插入问题