Trả lời

4

IndexOutOfBoundsException là lớp siêu của ArrayIndexOutOfBoundsException (được ném khi truy cập chỉ mục không hợp lệ trong một mảng) và StringIndexOutOfBoundsException (được ném khi truy cập chỉ mục không hợp lệ trong chuỗi).

Trường hợp của lớp cơ sở IndexOutOfBoundsException chính nó được ném khi truy cập các chỉ mục không hợp lệ của Danh sách.

Javadoc của một số phương pháp ném IndexOutOfBoundsException hoặc các lớp con của nó chứa lớp cơ sở. Ví dụ: String.charAt được ghi tài liệu để ném IndexOutOfBoundsException khi nó thực sự ném tiểu nhóm StringIndexOutOfBoundsException.

0

ArrayIndexOutOfBoundsException cho biết chỉ mục bất hợp pháp trong thông báo của nó.

+2

Và 'IndexOutOfBoundsException' không? – Tom

13

IndexOutOfBoundsException: Được cho biết rằng chỉ mục của một số loại (chẳng hạn như một mảng, thành chuỗi hoặc đến vectơ) nằm ngoài phạm vi.

ArrayIndexOutOfBoundsException, StringIndexOutOfBoundsException là hai lớp, đã triển khai IndexOutOfBoundsException.

ArrayIndexOutOfBoundsException: Được kích hoạt để cho biết rằng một mảng đã được truy cập với chỉ mục bất hợp pháp. Chỉ số này âm hoặc lớn hơn hoặc bằng với kích thước của mảng.

StringIndexOutOfBoundsException: Được phát bằng phương pháp String để cho biết rằng chỉ mục là âm hoặc lớn hơn kích thước của chuỗi. Đối với một số phương thức như phương thức charAt, ngoại lệ này cũng được ném khi chỉ mục bằng kích thước của chuỗi.

0

Về cơ bản, nếu bạn đi ngoài giới hạn cho một mảng hoặc Chuỗi, bạn sẽ nhận được ArrayIndexOutOfBoundsException hoặc StringIndexOutOfBoundsException. Đối với một LinkedList mặc dù hoặc một số Bộ sưu tập khác, bạn sẽ nhận được IndexOutOfBoundsException tổng quát hơn.

Các vấn đề liên quan