具有两个泛型参数的类的Java泛型类型检查应该只包含相同类型的类
我有一种情况,我想在Java中比较一组配对。我将使用来自Apache的这个Pair-interface。
一对的左边和右边的值可以是实现可比较的类型,所以我声明这个列表如下:
List<Pair<Comparable, Comparable>> listOfPairs;
左边和右边的值应该总是属于相同的类型,例如Pair<String, String>
或Pair<Integer, Integer>
,并且这两种类型的值可以添加到同一列表中。
这是可行的:
Pair<Comparable, Comparable> p1 = new ImmutablePair<>("a", "b");
Pair<Comparable, Comparable> p2 = new ImmutablePair<>(2, 3);
listOfPairs.add(p1);
listOfPairs.add(p2);
这也是可行的:
Pair<Comparable, Comparable> p3 = new ImmutablePair<>("a", 2);
listOfPairs.add(p3);
有没有可能有一个类型检查,以确保一对的类型是相同的类型,一旦它被添加到列表中,例如在编译时失败?
转载请注明出处:http://www.400tyeyaji.com/article/20230526/1274206.html