English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
При вызове метода в незаконное или неуместное время возникает эта исключительная ситуация, и создается IlleagalStateException.
Например,remove()
Методы класса ArrayList вызываютсяnext()
или предыдущего метода удалите последний элемент.
В当前位置е удалите элемент, а затем переместитесь к следующему элементу для его удаления, то есть, каждый раз при вызове этойnext()
методом, вы можете вызватьremove()
один раз этим методом.
Поскольку начальная позиция списка (указателя) будет перед первым элементом, этот метод можно вызвать только после вызова следующего метода.
Если вызывается该方法remove()
метод, в противном случае он вызовет java.lang.IllegalStateException.
В следующем примере мы пытаемся использовать методremove()
Метод удаляет элемент из ArrayList и затем перемещается к первому элементу
import java.util.ArrayList; import java.util.ListIterator; public class NextElementExample{ public static void main(String args[]) {}} //Создать объект ArrayList ArrayList<String> list = new ArrayList<String>(); //Заполнить ArrayList- list.add("apples"); list.add("mangoes"); //Получить объект Iterator для ArrayList ListIterator<String> it = list.listIterator(); //Удалить элемент, не перемещаясь в первую позицию it.remove(); } }
Exception in thread "main" java.lang.IllegalStateException at java.util.ArrayList$Itr.remove(Unknown Source) at MyPackage.NextElementExample.main(NextElementExample.java:17)
IllegalArgumentException-IllegalArgumentException будет выброшен каждый раз, когда вы передаете недопустимый параметр методу или конструктору.
valueOf()
Метод класса java.sql.Date принимает строку даты в формате JDBC-эскейп yyyy- [m] m- [d], где d представляет дату, и преобразует её в объект java.sql.Date. Однако, если передается строка даты в любом другом формате, этот метод вызывает IllegalArgumentException.
import java.sql.Date; import java.util.Scanner; public class IllegalArgumentExample { public static void main(String args[]) {}} Scanner sc = new Scanner(System.in); System.out.println("Введите дату рождения в формате JDBC escape (yyyy-mm-dd) "); String dateString = sc.next(); Date date = Date.valueOf(dateString); System.out.println("Given date converted int to an object: " + date); } }
Введите дату рождения в формате JDBC escape (yyyy-mm-dd) 26-07-1989 Exception in thread "main" java.lang.IllegalArgumentException at java.sql.Date.valueOf(Unknown Source) at july_ipoindi.NextElementExample.main(NextElementExample.java:11)