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

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

有目的地避免 ArrayIndexOutOfBoundsException

有目的地避免 ArrayIndexOutOfBoundsException

長風秋雁 2023-03-23 16:52:02
string.split("\n")[1]總是給我一個ArrayIndexOutOfBoundsException。有沒有辦法防止這種情況發生?是否存在像下面這樣的真實代碼?if(!ArrayIndexOutOfBoundsException)     string.split("\n")[1]
查看完整描述

4 回答

?
千萬里不及你

TA貢獻1784條經驗 獲得超9個贊

string.split("\n")返回一個String數組。

string.split("\n")[1]假定返回值是一個至少有兩個元素的數組。

ArrayIndexOutOfBoundsException表示該數組的元素少于兩個。


如果要防止出現該異常,則需要檢查數組的長度。就像是...


String[] parts = string.split("\n");

if (parts.length > 1) {

    System.out.println(parts[1]);

}

else {

    System.out.println("Less than 2 elements.");

}


查看完整回答
反對 回復 2023-03-23
?
素胚勾勒不出你

TA貢獻1827條經驗 獲得超9個贊

數組的第一個元素位于索引 0。不要假設總是有兩個元素。數組中的最后一個索引的索引為 (length - 1)。



查看完整回答
反對 回復 2023-03-23
?
叮當貓咪

TA貢獻1776條經驗 獲得超12個贊

索引從 0 開始,因此通過使用 1 進行索引,您試圖獲取數組的第二個元素,在您的情況下,它可能是文本的第二行。您遇到這樣的錯誤是因為您的字符串中可能沒有換行符,為避免此類異常,您可以使用 try catch 塊(在您的情況下我不喜歡這種方法)或者只檢查是否有換行符你的字符串,你可以這樣做:


if(yourString.contains("\n")){

    //split your string and do the work

}

甚至通過檢查分割部分的長度:


String[] parts = yourString.split("\n");

if(parts.length>=2){

    //do the work

}

如果你想使用 try-catch 塊:


try {

    String thisPart = yourString.split("\n")[1];

}

catch(ArrayIndexOutOfBoundsException e) {

    //  Handle the ArrayIndexOutOfBoundsException case

}

//  continue your work


查看完整回答
反對 回復 2023-03-23
?
慕運維8079593

TA貢獻1876條經驗 獲得超5個贊

您可以輕松地使用try-catch來避免收到此消息:


try{

     string.split("\n")[1];

}catch(ArrayIndexOutOfBoundsException e){

      //here for example you can 

      //print an error message

}


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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