Wrong number of type arguments: 1; required: 2 Type argument cannot be of primitive type
时间: 2023-08-07 13:16:22 浏览: 435
这个错误通常表示你在使用泛型类或泛型方法时,给定了一个基本类型作为类型参数,而 Java 的泛型不支持基本类型作为类型参数,只支持引用类型作为类型参数。
要修复这个错误,你需要使用对应的包装类作为类型参数,而不是基本类型。例如,如果你想使用 `int` 类型作为键类型,那么需要使用 `Integer` 类型作为类型参数,例如 `Map<Integer, String>`。如果你想使用 `boolean` 类型作为值类型,那么需要使用 `Boolean` 类型作为类型参数,例如 `Map<String, Boolean>`。
需要注意的是,Java 提供了自动装箱和拆箱机制,可以让基本类型自动转换为对应的包装类型,反之亦然。因此,你可以在代码中使用基本类型,而不必显式地创建包装类型对象。例如,你可以这样创建一个 `HashMap` 对象:
```
Map<Integer, Boolean> map = new HashMap<>();
```
这里的类型参数使用了自动装箱,将基本类型 `int` 和 `boolean` 转换为对应的包装类型 `Integer` 和 `Boolean`。
阅读全文