English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Cuando llama al método en un momento ilegal o inapropiado, se genera esta excepción y se crea el estado de excepción IlleagalState.
Por ejemplo,remove()
El método de la clase ArrayList se llamanext()
Después de eliminar el último elemento del método anterior o antes.
Después de eliminar el elemento en la posición actual, debe moverse al siguiente elemento para eliminarlo, es decir, cada vez que se llama a estenext()
Al llamar a este método, solo se puede llamarremove()
una vez este método.
Debido a que la posición inicial del puntero de la lista (índice) estará antes del primer elemento, no se puede llamar a este método sin llamar primero al siguiente método.
Si se llama a esteremove()
método, de lo contrario lanzará java.lang.IllegalStateException.
En el siguiente ejemplo, intentamos usarremove()
El método elimina el elemento de ArrayList y luego se mueve al primer elemento
import java.util.ArrayList; import java.util.ListIterator; public class NextElementExample{ public static void main(String args[]) { //Instanciar objeto ArrayList ArrayList<String> list = new ArrayList<String>(); //Rellenar ArrayList- list.add("apples"); list.add("mangoes"); //Obtener el objeto Iterator de ArrayList ListIterator<String> it = list.listIterator(); //Eliminar el elemento sin moverse a la primera posición 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 se lanzará cada vez que se pase un parámetro inapropiado a un método o constructor.
valueOf()
Los métodos de la clase java.sql.Date aceptan un valor en formato yyyy con escape JDBC- [m] m- [d] d representa una cadena de fecha y se convierte en el objeto java.sql.Date. Sin embargo, si se pasa una cadena de fecha en cualquier otro formato, este método lanzará 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("Ingrese su fecha de nacimiento en formato de escape JDBC (yyyy-mm-dd) "); String dateString = sc.next(); Date date = Date.valueOf(dateString); System.out.println("Fecha dada convertida a objeto int: "+date); } }
Ingrese su fecha de nacimiento en formato de escape JDBC (yyyy-mm-dd) 26-07-1989 Excepción en hilo "main" java.lang.IllegalArgumentException en java.sql.Date.valueOf(Unknown Source) en july_ipoindi.NextElementExample.main(NextElementExample.java:11)