English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
当您在非法或不适当的时间调用方法时,会生成此异常,并生成IlleagalStateException。
例如,remove()
ArrayList类的方法在调用next()
或之前的方法后删除最后一个元素。
在当前位置删除元素后,您需要移动到下一个元素以删除它,即,每次调用该next()
metodo, si può chiamare soloremove()
una volta questo metodo.
Poiché la posizione iniziale del puntatore della lista (puntatore) sarà prima del primo elemento, non si può chiamare questo metodo senza chiamare il metodo successivo.
Se si chiama questoremove()
metodo, altrimenti solleverà un java.lang.IllegalStateException.
Nell'esempio seguente, proviamo a utilizzareremove()
Il metodo elimina l'elemento dell'ArrayList e poi si sposta al primo elemento
import java.util.ArrayList; import java.util.ListIterator; public class NextElementExample{ public static void main(String args[]) {}} //Istanzia l'oggetto ArrayList ArrayList<String> list = new ArrayList<String>(); //Riempi l'ArrayList- list.add("apples"); list.add("mangoes"); //Ottieni l'oggetto Iterator dell'ArrayList ListIterator<String> it = list.listIterator(); //Elimina l'elemento senza muoversi alla prima posizione 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-每当您向方法或 costruttore passate un parametro inappropriato, viene sollevato un IllegalArgumentException.
valueOf()
La classe java.sql.Date accetta una stringa di data in formato di escape JDBC yyyy- [m] m- [d] dove d rappresenta la data e la converte in un oggetto java.sql.Date. Tuttavia, se viene passata una stringa di data in qualsiasi altro formato, questo metodo solleva un 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("Inserisci la tua data di nascita nel formato di escape JDBC (yyyy-mm-dd) "); String dateString = sc.next(); Date date = Date.valueOf(dateString); System.out.println("Data fornita convertita in oggetto int: " + date); } }
Inserisci la tua data di nascita nel formato di escape JDBC (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)