Wie stelle ich fest, ob ein Objekt in meinem Array vorkommt?

Drachenbauer

Aktives Mitglied
Hallo

Ich habe ein Array mit 3 Objekten darin.

In der Methode, wo ich es benutzen will, wird ein objekt übergeben und ich möchte mit einem "if" entscheiden, dass es etwas bestimmtes tun soll, wenn das übegebene Objekt in dem Array vorkommt.

Wie kann ich jetzt direkt in den Klammern von dem "if" prüfen, ob das übergebene Objekt im Array vorkommt?
 
Z. B. liefert Arrays.asList(arr).contains(obj) true, wenn obj im Array arr vorkommt. Stream.of(arr).anyMatch(obj) ebenfalls.
 
Alternativ ganz klassisch:


Java:
if(obj.equals(array[0] || obj.equals(array[1] || obj.equals(array[2]) ...


oder besser:


Java:
if(contains(array, obj)) ...

...

boolean contains(Object[] array, Object toTest) {

  for(Object obj : array) {
     if(obj.equals(toTest)) {
         return true;
     }
  }
  return false;

}
 
Alternativ ganz klassisch:


Java:
if(obj.equals(array[0] || obj.equals(array[1] || obj.equals(array[2]) ...


oder besser:


Java:
if(contains(array, obj)) ...

...

boolean contains(Object[] array, Object toTest) {

  for(Object obj : array) {
     if(obj.equals(toTest)) {
         return true;
     }
  }
  return false;

}
Da dürfte dir aber eine NullPointer Exception fliegen, wenn im Array null enthalten ist. Für Sowas dann besser Objects.equals verwenden.
 

Zurück
Oben