¿Cómo generará UnsupportedOperationException en Java?

La aparición de UnsupportedOperationException indica claramente que la operación solicitada no se puede realizar, debido al hecho de que está prohibida para esa clase en particular.

Esta excepción amplía la clase RuntimeException y, por lo tanto, pertenece a las excepciones que se pueden generar durante el funcionamiento de la máquina virtual Java (JVM). Es una excepción no verificada y, por lo tanto, no necesita ser declarada en la cláusula throws de un método o de un constructor.

Ejemplo:
import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
import java.util.Random;

clase pública UnsupportedOperationExceptionExampleCollection {
privado estático final int TOTAL_ELEMS = 10;
privado final estático Aleatorio aleatorio = nuevo Aleatorio ();

public static void main (String [] args) {
Enteros de colección = nuevo HashSet (TOTAL_ELEMS);

// Rellene la colección con algunos valores aleatorios.
para (int i = 0; i <TOTAL_ELEMS; ++ i)
integers.add (random.nextInt ());

// Recuperar una vista no modificable de la colección.
Collection unmodifiableCollection = Collections.unmodifiableCollection (enteros);

// Esta declaración arroja una UnsupportedOperationException.
UnmodifiableCollection.add (random.nextInt ());
}
}

En este ejemplo, creé una instancia de la clase HashSet, que implementa la interfaz de la Colección, e inserté varios valores aleatorios. Luego, recuperé una vista inmodificable de la colección e intenté insertar un nuevo elemento, lo que resultó en una excepción de operación no admitida.

Supongo que un ejemplo es suficiente para familiarizarlo con dicho tema.

UnsupportedOperationException: – UnsupportedOperationException se produce cuando intenta llamar a un método relacionado con colecciones en una instancia de la interfaz de una colección que no proporciona una implementación completa de esa interfaz. Si una colección es de tamaño fijo o de solo lectura, usted no se pueden agregar o eliminar elementos. Intentar realizar una operación de este tipo hace que se produzca esta excepción.

Para obtener más información, consulte este enlace, ¿Qué es UnsupportedOperationException?

More Interesting

¿Por qué EPFL no produce grandes programadores que puedan descifrar entrevistas técnicas de compañías como Google, Facebook, Palantir, Amazon, etc.?

Si descifras la entrevista de Google por pura suerte de obtener solo preguntas fáciles, ¿qué pasará contigo a la larga? ¿Eventualmente prosperarás o te las arreglarás?

Cómo invertir una matriz usando la cola en O (n)

¿Cómo encontrar el número de subcadenas que son anagramas de palíndromos en una cadena en tiempo lineal?

Cómo prepararme para limpiar la entrevista para Amazon India como WDE (Ingeniero de desarrollo web)

¿Crear una lista vinculada individualmente sin la prueba de head == nulo para inserción?

¿Cómo te sientes cuando crees que te has desempeñado increíblemente bien en una entrevista pero aún te rechazan?

Cómo resolver de forma recursiva el problema de 'subir escaleras' en Leetcode

¿Cuáles son las cosas más influyentes que puedo hacer para aumentar mis posibilidades de éxito en la entrevista técnica de Hack Reactor?

Si dice que es competente en un lenguaje de programación al salir de la universidad, ¿qué grado de comprensión profunda necesita en dicho idioma para tener éxito en una entrevista técnica?

Durante una entrevista, ¿cómo respondería a la pregunta "describa lo que sabe sobre el aprendizaje automático"?

¿Cuál es el punto de la estructura de datos y las preguntas de algoritmos en las entrevistas? (ver comentario para más detalles)

Dada una matriz (N) de enteros, ¿cómo verifica si es posible obtener una suma de S, eligiendo algunos elementos (o cero) de la matriz y agregándolos?

¿Las entrevistas técnicas solo buscan las respuestas correctas?

¿Las empresas hacen preguntas difíciles en sus entrevistas de pasantía en la ronda técnica, con respecto a las estructuras de datos y algoritmos? ¿Dónde puedo aprenderlos?