class C { static <A,B> Pair<B,A> swap (Pair<A,B> p) { return new Pair<B,A>(p.second, p.first); } } Pair<String,Integer> p = new Pair<String,Integer>("foo", 42); Pair<Integer,String> q = C.swap(p);bei Benutzung werden Typargumente inferiert
in C#: Typargumente könne auch angegeben werden.
Pair<Integer,String> q = C.swap<String,Integer>(p);