gpt4 book ai didi

java - 为什么我会收到类型不匹配错误?

转载 作者:行者123 更新时间:2023-11-29 09:51:45 25 4
gpt4 key购买 nike

我一直在尝试使用泛型返回一个 Map:

import java.util.HashMap;
import java.util.Map;
public class GenericTest {

public <T extends Vehicle> Map<String, T> get() {
Map<String, Car> map = new HashMap<>();
return map; // Getting error
}

}
class Vehicle {
}
class Car extends Vehicle {
}

在我返回 map 的行中,出现错误

Type mismatch: cannot convert from Map<String,Car> to Map<String,T>

谁能解释一下为什么?

在返回类型中我提到了 T extends Vehicle。

最佳答案

因为你可以调用Map<String, Truck> map = new GenericTest().get(); .还有一个 Map<String, Car>不是 Map<String, Truck> .

将变量声明更改为:

Map<String, T> map = new HashMap<>();

或将方法签名更改为:

public Map<String, Car> get()

关于java - 为什么我会收到类型不匹配错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50422958/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com