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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

where len(trim(地址))=0?

where len(trim(地址))=0?

桃花長相依 2019-02-27 11:03:11
where len(trim(地址))=0
查看完整描述

4 回答

?
狐的傳說

TA貢獻1804條經驗 獲得超3個贊

public String trim() {
int len = count; // 有效字符(不是空格)結束位置
int st = 0; // 有效字符(不是空格)起始位置
int off = offset; // 字符數組起始位置,應該是0
char[] val = value; // 字符數組

while ((st < len) && (val[off + st] <= ' ')) { // 從起始位置開始遍歷,獲取起始連續空格的最后空格位置
st++; // st值發生變化,說明起始有空格,st就是起始需要截取的位置
}
while ((st < len) && (val[off + len - 1] <= ' ')) { // 從末尾位置開始遍歷,獲取末尾連續空格的第一個空格位置
len--; // len值發生變化,說明末尾有空格,len是末尾需要截取的位置
}
return ((st > 0) || (len < count)) ? substring(st, len) : this; // 判斷是否有空格需要截取,有截取,沒有返回原String
}

查看完整回答
反對 回復 2019-03-30
?
智慧大石

TA貢獻1946條經驗 獲得超3個贊

public String trim() {
int len = count; //你可以理解為這個字符串變成char數組以后的長度
int st = 0;
int off = offset; /* avoid getfield opcode */ //當做是0
char[] val = value; /* avoid getfield opcode */ //由這個字符串變成的字符數組
while ((st < len) && (val[off + st] <= ' ')) { //var[off+st]其實是拿到這個數組的首字符,由首字符和‘ ’的ascii碼比較,如果<=就繼續下一個字符比較,如果>了就停止比較;最后st會拿到第一個不是 ‘ ‘字符的下標
st++;
}
//下面這個邏輯和上面一樣,其實拿到就是一個最后一個字符不是’ ‘的下標。
while ((st < len) && (val[off + len - 1] <= ' ')) {
len--;
}
//最后返回的是截取這個字符串中下標從st開始到len結束的一個字符串。
return ((st > 0) || (len < count)) ? substring(st, len) : this;
}


查看完整回答
反對 回復 2019-03-30
  • 4 回答
  • 0 關注
  • 935 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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