Required type: Map <Long, List<Node>> Provided: Map <Integer, List<Node>> no instance(s) of type variable(s) exist so that Integer conforms to Long inference variable K has incompatible bounds: equality constraints: Long
时间: 2024-02-25 13:59:26 浏览: 33
这个错误提示表明在代码中使用了类型不匹配的 `Map` 类型。具体而言,代码期望一个 `Map<Long, List<Node>>` 类型的对象,但是实际传入的是一个 `Map<Integer, List<Node>>` 类型的对象,导致类型不匹配。
根据错误提示,可以看出是因为使用了类型推断时出现了问题。在 Java 中,类型推断是通过编译器自动根据上下文推断出表达式的类型,从而省略类型参数的过程。但是在这个例子中,编译器无法自动推断出正确的类型参数,因此出现了错误。
要解决这个问题,可以明确指定 `Map` 的类型参数,比如使用 `Map<Long, List<Node>>` 替代原来的 `Map` 类型。例如:
```
Map<Long, List<Node>> map = new HashMap<>();
```
或者在方法签名中指定泛型类型参数,比如:
```
public void myMethod(Map<Long, List<Node>> map) {
// ...
}
```
这样可以避免类型不匹配的问题。
相关问题
Required type: List <T> Provided: List <Teacher>
The error message indicates that there is a type mismatch.
You are trying to pass a `List<Teacher>` to a parameter that requires a `List<T>`. This means that the method or function is expecting a list of a generic type `T`, but you are passing a list of type `Teacher`.
To resolve this error, you can either change the parameter type to `List<Teacher>` or make sure that the list you are passing is of the correct generic type `T`.
Required type: KafkaRecordSerializationSchema <String> Provided: KafkaRecordSerializationSchema <Object>
这个错误通常发生在使用 Kafka 生产者时,表示你提供的 KafkaRecordSerializationSchema 类型与期望的类型不匹配。它期望一个 `KafkaRecordSerializationSchema<String>` 类型,但你提供了一个 `KafkaRecordSerializationSchema<Object>` 类型。
要解决这个问题,你需要修改你的代码以提供期望的类型。你可以尝试使用 `KafkaRecordSerializationSchema<String>` 类型的实现或者将你的 `KafkaRecordSerializationSchema<Object>` 转换为 `KafkaRecordSerializationSchema<String>` 类型。例如,你可以这样实现一个 `KafkaRecordSerializationSchema<String>` 类型的实现:
```java
public class MyKafkaRecordSerializationSchema implements KafkaRecordSerializationSchema<String> {
@Override
public ProducerRecord<byte[], byte[]> serialize(String element, @Nullable Long timestamp) {
// 实现你的序列化逻辑
}
}
```
然后将这个实现传递给 Kafka 生产者的构造函数或者 `setSerializationSchema` 方法中。