Saber si un array contiene un objeto propio

Iniciado por JonaLamper, 7 Mayo 2017, 01:40 AM

0 Miembros y 1 Visitante están viendo este tema.

JonaLamper

Muy buenas noches,

¿Hay alguna forma de saber en Java si un array contiene un determinado objeto? El objeto no es de ninguna clase primitiva, es un objeto de una clase mía. Lo que busco es una especie de array.indexOf en javascript.


Muchas gracias  ;D
Utilizar palabras para hablar de palabras es como utilizar un lápiz para hacer un dibujo de ese lápiz sobre el mismo lápiz.

ivancea96

Si primero lo conviertes a una List, por ejemplo, sí tendrás métodos, como contains.
Si el array está ordenado, puedes usar Arrays.binarySearch[/i].

Si ninguna de estas te conviene, siempre puedes hacer la función para buscar.

Chuidiang

Hola:

Para convertir a List y usar el metodo indexOf, puedes usar la clase Arrays de java

java.util.Arrays.asList(theArray).indexOf(o)

También hay que decirle a java de alguna forma cuando dos objetos de tu clase son iguales. Si no dices nada, por defecto serán iguales si son la misma instancia y serán distintos si son instancias distintas, aunque el contenido sea igual.


TuClase a = new TuClase(1,2,3)
TuClase b = new TuClase(1,2,3)
// a == b es false y a.equals(b) también es false.


Para indicar cuando son iguales, debes definir el método equals() en tu clase (el mismo IDE que uses eclipse, netbeans, idea, .... lo hacen si se lo pides).

Saludos.

cunian

Hola amigo, Existe algo que se llama Api reflection java, Es muy poca conocida pero esa esa la solución a tu problema. Investiga un poco lo que te dije y veras lo importante que es esa Api

animanegra

¿Contiene el mismo objeto o un objeto con el mismo valor en sus atributos? Es que no es lo mismo.

42
No contesto mensajes por privado, si tienes alguna pregunta, consulta o petición plantéala en el foro para que se aproveche toda la comunidad.