2 changed files with 55 additions and 0 deletions
@ -0,0 +1,38 @@ |
|||
public class Pair<K, V> { |
|||
private K key; |
|||
private V value; |
|||
|
|||
// 构造方法
|
|||
public Pair(K key, V value) { |
|||
this.key = key; |
|||
this.value = value; |
|||
} |
|||
|
|||
// Getter/Setter
|
|||
public K getKey() { |
|||
return key; |
|||
} |
|||
|
|||
public void setKey(K key) { |
|||
this.key = key; |
|||
} |
|||
|
|||
public V getValue() { |
|||
return value; |
|||
} |
|||
|
|||
public void setValue(V value) { |
|||
this.value = value; |
|||
} |
|||
|
|||
// ✅ 修复后的静态 swap 方法
|
|||
public static <K, V> Pair<V, K> swap(Pair<K, V> pair) { |
|||
return new Pair<>(pair.getValue(), pair.getKey()); |
|||
} |
|||
|
|||
// 重写 toString
|
|||
@Override |
|||
public String toString() { |
|||
return "Pair{" + "key=" + key + ", value=" + value + '}'; |
|||
} |
|||
} |
|||
@ -0,0 +1,17 @@ |
|||
public class TestPairSwap { |
|||
public static void main(String[] args) { |
|||
// 1. 原始 Pair:String + Integer(姓名-年龄)
|
|||
Pair<String, Integer> person = new Pair<>("张三", 20); |
|||
System.out.println("交换前:" + person); |
|||
|
|||
// 2. 调用静态 swap 方法,得到交换后的 Pair
|
|||
Pair<Integer, String> swappedPerson = Pair.swap(person); |
|||
System.out.println("交换后:" + swappedPerson); |
|||
|
|||
// 3. 相同类型的 Pair 也可以正常使用
|
|||
Pair<Double, Double> point = new Pair<>(116.40, 39.90); |
|||
System.out.println("交换前坐标:" + point); |
|||
Pair<Double, Double> swappedPoint = Pair.swap(point); |
|||
System.out.println("交换后坐标:" + swappedPoint); |
|||
} |
|||
} |
|||
Loading…
Reference in new issue