Auf Thema antworten

Doch das Key-Objekt weiß genau, welcher Schlüssel er ist. Das ist ja der Trick (der sich Polymorphie nennt). Ich erzeuge ja kein neues Key-Objekt, sondern suche nur das passende und gebe es zurück.


Ich habe vorrausgesetzt, dass du im Enum diese Methoden hast (hab ich vorherigem Post schon mal reingeschrieben):

[code=Java]

// Instanz-Methode für einen Key: Passt das übergebene byte-Array (bytes) zu unserem byte-array (this.bytes)?

 public boolean equals(byte[] bytes){//Methode zum vergleichem mit einem andere byte-array

    return Arrays.equals(bytes, this.bytes);

  }


//Statische Methode

public static Keys getKey(byte[] bytes){//Methode zum finden eines Keys bei gegebenem Byte-Array

    for(Keys key: values()){//values() liefert alle Werte des Enums als Array

      if(key.equals(bytes)){//Prüfen ob der Wert passt

        return key; // Enum-Wert zurückgeben

      }

    return null; // Kein Wert gefunden, NULL zurückgeben

}[/code]Damit findest du zu jedem byte-Stream den passenden key. gibst du also 4,1 ein, so wird POWER zurückgegeben, da nur diese Enum-Konstante das gleiche Byte-Array hat.



Oben