发现Java SE9 多了Pair类,
继承自Object类,实现了Serializable接口。
它有以下方法可使用
比如
Pairpair = new Pair(1, 2); System.out.println(pair.getKey()); System.out.println(pair.getValue());
但是请看这种情形,当不指定类型从容器中取出时
List> list = new ArrayList<>(); Pair pair = new Pair(1, 2); list.add(pair); Pair cur = list.get(0); int key = cur.getKey();
按理说pair.getKey()应该是Integer, 但是会报如下错误
error: incompatible types: Object cannot be converted to int
int key = cur.getKey();
^
明明是Integer, 怎么变成了Object了?
因为你没有指定cur的Pair类型,所以类型会提升到Object,
作如下修改即可
List> list = new ArrayList<>(); Pair pair = new Pair(1, 2); list.add(pair); Pair cur = list.get(0); int key = cur.getKey();



