Ein generischer Typ ist ebenfalls ein Referenztyp, der jedoch ein oder mehrere Typparameter besitzt. Die folgenden Ableitungsregeln für eine normale Klassendeklaration verdeutlichen, an welcher Stelle Typparamter vorgesehen sind (siehe Java Language Specification ): ClassModifiers_opt class Identifier TypeParameters_opt Super_opt Interfaces_opt ClassBody TypeParamters: < TypeParamterList > TypeParamterList: TypeParamter TypeParamterList , TypeParamter Nach dem Schlüsselwort public class Holder<E> { ... } public class Holder2<K,V> { ... } Es wurde jeweils der Klassenmodifikator Listing 3.2. /* * Holder.java * JDK 5 * */ public class Holder<E> { private E value; public void set(E v) { value = v; } public E get() { return value; } } Das nächste Beispiel definiert einen generischen Typ mit zwei Typparametern,
um zwei beliebige Referenztypen aufnehmen bzw. wieder abfragen zu können. Mit der
Methode Listing 3.3. /* * Holder2.java * JDK 5 * */ public class Holder2<K,V> { private K key; private V value; public void set(K k, V v) { key = k; value = v; } public K getKey() { return key; } public V getValue() { return value; } } |
|