最后一行报错:Cannot infer arguments
时间: 2023-08-12 19:06:32 浏览: 395
抱歉,可能是我在代码中漏写了一些参数导致编译器无法推断类型。请将最后一行代码修改为以下内容:
```
return new Page<>(pageInfo.getPageNum(), pageInfo.getPageSize(), pageInfo.getTotal(), briefDisplayProjectList, pageInfo.getPages());
```
在这里,我添加了一个额外的参数 `pageInfo.getPages()`,用于表示总页数。这个参数可以通过 `PageInfo` 对象的 `getPages()` 方法获取到。希望这次能够顺利编译通过。
相关问题
error: cannot infer type arguments for PriorityQueue<> PriorityQueue<Integer> pq = new PriorityQueue<>( ^
这个错误是由于无法推断出优先队列 `PriorityQueue` 的类型参数导致的。为了解决这个问题,您可以明确指定类型参数的类型。在您的代码中,您使用了 `Integer` 类型,所以您可以修改代码如下:
```java
PriorityQueue<Integer> pq = new PriorityQueue<Integer>(
intervals.length, (Integer a, Integer b) -> a - b);
```
通过在 `PriorityQueue` 的构造函数中指定类型参数为 `Integer`,编译器就可以正确推断出类型参数,并解决错误。
希望能解决您的问题!如果您还有其他问题,请随时提问。
private static final Map<String, ISMSSendAPI> handlerMap = new HashMap<>() 报错 Cannot infer type arguments for HashMap<>
这个错误是因为Java编译器无法推断HashMap的类型参数。可以尝试在HashMap后面指定类型参数,如下所示:
```
private static final Map<String, ISMSSendAPI> handlerMap = new HashMap<String, ISMSSendAPI>();
```
或者,你可以使用钻石操作符来让编译器推断类型参数:
```
private static final Map<String, ISMSSendAPI> handlerMap = new HashMap<>();
```
这样编译器就会根据变量声明的类型来自动推断HashMap的类型参数。
阅读全文