更新時(shí)間:2023-12-15 來(lái)源:黑馬程序員 瀏覽量:
String字符串在獲取某個(gè)字符時(shí)會(huì)用到字符的索引,當(dāng)訪問(wèn)字符串中的字符時(shí),如果字符的索引不存在,則會(huì)發(fā)生StringIndexOutOfBoundsException(字符串角標(biāo)越界異常)。
當(dāng)我們嘗試訪問(wèn)字符串中不存在的字符位置時(shí),就會(huì)觸發(fā)字符串角標(biāo)的越界異常。在Java中,字符串的角標(biāo)是從0開始的,如果我們嘗試訪問(wèn)超出字符串長(zhǎng)度范圍的角標(biāo),就會(huì)引發(fā)異常。接下來(lái)筆者通過(guò)一個(gè)簡(jiǎn)單的案例來(lái)演示字符串角標(biāo)越界異常:
public class StringIndexOutOfBoundsExample { public static void main(String[] args) { String str = "Hello, World!"; try { // 嘗試訪問(wèn)超出字符串長(zhǎng)度范圍的角標(biāo) char character = str.charAt(20); // 這里的字符串長(zhǎng)度是13,但我們嘗試訪問(wèn)第20個(gè)字符 System.out.println("Character at index 20: " + character); } catch (StringIndexOutOfBoundsException e) { System.out.println("String index is out of bounds!"); } } }
在這個(gè)例子中,我們創(chuàng)建了一個(gè)包含"Hello, World!"的字符串。然后,我們嘗試訪問(wèn)字符串角標(biāo)為20的字符,但是實(shí)際字符串的長(zhǎng)度只有13個(gè)字符,因此訪問(wèn)第20個(gè)字符超出了范圍,導(dǎo)致了StringIndexOutOfBoundsException的異常被拋出。在異常處理中,會(huì)打印出"String index is out of bounds!"的消息。
本文版權(quán)歸黑馬程序員Java培訓(xùn)學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明作者出處。謝謝!
作者:黑馬程序員Java培訓(xùn)學(xué)院
首發(fā):https://java.itheima.com