@Test
public void testRaw() {
Fruit<String> fruit = new Fruit<>();
Basket<Integer> basket = new Basket(fruit); // 不报错!
basket.setFruit(fruit); // 报错: required type Fruit<Integer>
}
private static class Basket<V> {
public Basket(Fruit<V> f) {
}
public void setFruit(Fruit<V> f) {
}
}
private static class Fruit<R> {
}
Basket的构造方法传入的不匹配类型不报错,下面的setFruit方法会报错,这是什么原因?