Δείτε το παρακάτω παράδειγμα, όπου έχουμε ένα interface και μία κλάση με δύο παραμέτρους.
public interface Pair<K, V> { public K getKey(); public V getValue(); public void setKey(K key); public void setValue(V value); }
public class OrderedPair<K, V> implements Pair<K,V> { private K key; private V value; public OrderedPair(K key, V value) { this.key = key; this.value = value; } public void setKey(K key) { this.key = key; } public void setValue(V value) { this.value = value; } public K getKey() { return key; } public V getValue() { return value; } }
Με βάση τον παραπάνω κώδικα μπορείτε να δημιουργήσετε αντικείμενα επιμέρους τύπων ως εξής:
public class OrderedPairUsage { public static void main(String args[]) { Pair<String, Integer> p1 = new OrderedPair<String, Integer>("Even", 8); Pair<String, String> p2 = new OrderedPair<String, String>("hello", "world"); OrderedPair<String, Box<Integer>> p = new OrderedPair<>("primes", new Box<Integer>()); // the following is not allowed Pair<String, Integer> p1 = new OrderedPair<>("hello", "world"); } }