亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

關于字符串長度的問題

String str =“學習 JAVA 編程 ”這個字符串的長度為什么是10啊, 而且‘編’這個字為什么在第8個字符位置上 ?求問

正在回答

4 回答

這里是按Unicode計算字符串長度,而不是以字節單位獲得字符串的長度,所以漢字的長度是1,不是2,加上兩個空格長度就是10,另外字符串中字符的索引是從0開始的,所以str.indexOf(編)=8,表示的是在第9個字符位置上。

0 回復 有任何疑惑可以回復我~
#1

qq_周_16 提問者

非常感謝!
2017-03-10 回復 有任何疑惑可以回復我~
#2

xiaoxin3839519 回復 qq_周_16 提問者

共勉!
2017-03-10 回復 有任何疑惑可以回復我~

http://img1.sycdn.imooc.com//58c1097200015f8f07060089.jpg

你是不是java前有空格。。。

0 回復 有任何疑惑可以回復我~

java中string的length()取出來的是字符長度而不是字節長度
中文一個字符是占兩個字節的一個英文字母占一個字節
所以如果?有字符串tmpString?=?"中國acb"
則tempString.length()的結果是5

這里有一篇文章

http://bbs.csdn.net/topics/60386039

0 回復 有任何疑惑可以回復我~

根據這個輸出,我認為編譯器對漢字和空格,英文都看做是一個字符

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

關于字符串長度的問題

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號