Bienvenidos.
Vamos a ver un ejemplo un poco más completo de qué vamos a crear nuestra propia clase decepción para
los usuarios.
La idea es tener una lista de usuarios de ejemplo con el nombre del apellido Leidy y buscar por el Heidy.
Si no lo encuentra lanzar esta acepción, por ejemplo, le podríamos llamar usuario no encontrado excepción.
Entonces la lanzamos y en el controller advances la manejamos y la capturamos.
Bien, lo primero es crear la clase usuario en un package en el package impase.
Entonces creamos un package por acá Models, punto Domain o dominio.
Finalizar una clase usuario.
Finalizar y con atributos
con el Edy nombre y apellido, el Heidy del tipo Intea pero de referencia comenzando con mayúscula Integer.
Bien lo que transceptor.
Por acá source generarte tran setter marcamos todos.
Y también vamos a crear un constructor para inicializar el Heidy, nombre y apellido.
Entonces por acá con clic derecho como siempre Source y General Constructor usando campos.
Usando Fields generar.
Quitamos el súper.
Y también dar la opción para crear al usuario sin parámetros, sin argumentos.
Entonces también con sources generar constructor desde class.
Perfecto generar, quitamos el comentario y el super y lo dejamos así y ordenamos en souffle formato,
estamos listo.
Guardamos nuestra clase servis también la creamos en el РАМКАХ base dentro del package servicies.
Entonces vamos a crear este nuevo package servicies y dentro la clase servis con su interfaz.
Pero primero la interfaz hace click derecho New Interfaz usuario servis OK, finalizando con dos métodos
con dos métodos del contrato, primero para listar y segundo para buscar por el Heidy
bien listar del tipo list importamos de llebaba útil usuario importamos.
Obtener por Heidy y recibe el Heidy, el tipo Intelligent.
Ahora creamos esta clase con click derecho new class usuario servis implementas de implementar, agregamos
la interfaz, buscamos usuario servis, la seleccionamos o qué?
Finalizar.
Lo primero es decorar o marcar esta clase como componente de sprint, pero el tipo servis importamos
perfecto y ya está registrada.
De esta forma, después se puede inyectar en el controlador y la podemos utilizar con inyección dependencia
private
y la lista del tipo list de usuario.
Pero bien, en este ejemplo, al igual que en los anteriores, los datos de ejemplo lo guardamos en
un ArrayList, en una lista o en un arreglo, porque todavía no hemos visto nada demasiado bueno, pero
en un ejemplo real y después lo vamos a ver, que los registros, los usuarios lo vamos a buscar con
una consulta, ya sea con JPA, con internet o con JS, en fin.
Pero a la tabla a la hace rato, pero por ahora un simple ArrayList y lo tenemos que inicializar en
el constructor, entonces con clic derecho source y creamos un constructor desde la superclase.
O qué?
Generar.
Inicializamos lista
ArrayList, bueno, puede ser una ArrayList, pero también podemos utilizar el helpers, como hemos
visto a raíz y el método as list y separado por Koba podemos agregar los objetos, pero con ArrayList
en este caso sería con el método ADD entonces puntó add new usuario y pasamos el Heidy nombre bello
bueno y datos de ejemplo y Leidy bueno 1 nombre cualquiera.
Por ejemplo Andrés Guzmán y así vamos a crear varios más.
Por ejemplo 1/7.
Por ejemplo, a Pepa García hablalo.
A Lucy, por ejemplo, Fernandes y en fin, datos de ejemplo.
A Paco Rodríguez y a Juan, por ejemplo.
Perfecto.
Bueno, el estar super simple, retornamos la lista.
El buscar por ahí.
Primero inicializamos, por ejemplo, usuario
resultado igual null.
Entonces por defecto no encuentra.
Pero recorremos con un Ford, con un foreach de Yaba y vamos preguntando por el Heidy si son iguales.
Lo encontramos, se lo asignamos a resultado y al final retornamos resultado.
En vez de nul importante que return retorne resultado independiente se null si no lo encontró o si lo
encontró.
Mientras en de cada elemento usuario es del tipo usuario.
Le vamos a llamar un 2 punto.
La lista disputo lista.
Entonces cada elemento de la lista usuarios la vamos tirando yaca, preguntamos con uniforme, entonces
si él un punto Heidi, guet, Heidi, que del tipo integer es igual y es.
Y Heidy?
Asignamos resultado, entonces el resultado sería igual a U.
El usuario, el usuario encontrada y hacemos un break.
Para salir del foro.
Y por qué nos sigue tirando?
Y finalmente retornamos bien.
Por qué usamos equals y no igual?
Porque también podría ser gué Tait di igual.
Perfecto.
Eso va a funcionar en algunos contextos, no siempre.
Bueno, primero siempre va a funcionar cuando el tipo auto, por ejemplo, esto acá es del tipo primitivo
hint y no de tipo referencia, ya que es un valor.
Si es un valor y no es un objeto perfecto, lo podemos igualar.
Pero como es del tipo de referencia iniciando con mayúscula, es una clase, un tipo de referencia.
Lo tenemos que comparar con equals.
Pero también hay algunos casos que también se puede comparar con igual, pero solamente cuando nuestra
lista de objeto no supera los 128 elementos, ya que esos 128 elementos, la máquina virtual de Java
lo guarda en el caché, lo guarda como valores, pero también como objetos, entonces se pueden comparar
con el igual.
Pero por ejemplo, si no está lista de usuario, por ejemplo, tenemos 1000 usuarios.
Bueno, en realidad más de 128 usuarios ya tenemos que utilizar el método equals, entonces siempre
con el igual va a comprar por instancia, por objetos, por referencia y al ser del tipo Integer una
referencia, un objeto compara estas dos instancias.
Y bueno, en general son distintas porque son diferentes instancias o referencia.
Lo que si es igual es el valor, pero como explicaba, si son 128 o menos 127 o menos, estos valores
lo guardan un caché y se pueden comparar con el igual, mientras que con el método Discours solamente
evalúa o compara por valor y no por instancia.
Entonces con el igual, igual por referencia y por el equals, por el valor que tiene el objeto tellas
es resumiendo que que sea del tipo integer, iniciando con mayúscula un tipo de referencia.
Se comparan los valores con el cuarzo y si es primitivo con igual, igual.
Y si queremos comparar las referencias el objeto usamos también él igual igual.
Pero bueno, es un tema más de la base de yaba, tipos de referencia, tipos primitivos.
En fin, ya estamos listo.
Guardamos y continuamos en la siguiente clase.