val maxEntry = countMap.maxByOrNull { it.value }这句话报错了
时间: 2024-02-13 21:06:35 浏览: 31
这个问题可能是因为您的 Kotlin 版本低于 1.4.0 导致的,因为 `maxByOrNull()` 函数是 Kotlin 1.4.0 新增的函数。
您可以尝试使用 `maxBy()` 函数代替 `maxByOrNull()` 函数,这个函数在 Kotlin 1.3.x 中也是存在的。
修改后的代码如下:
```kotlin
fun getMostOnes(mat: List<List<Int>>): IntArray {
val countMap = HashMap<Int, Int>()
for (i in mat.indices) {
var count = 0
for (j in mat[i].indices) {
if (mat[i][j] == 1) {
count++
}
}
countMap[i] = count
}
val maxEntry = countMap.maxBy { it.value }
return intArrayOf(maxEntry!!.key, maxEntry.value)
}
```
这样应该就可以解决报错问题了。
相关问题
上述代码存在这个问题:Line 4: Char 22: error: unresolved reference: maxByOrNull val m = nums.maxByOrNull { it.size }?.size ?: 0 ^ Line 4: Char 36: error: unresolved reference: it val m = nums.maxByOrNull { it.size }?.size ?: 0 ^
这个问题是由于 `maxByOrNull` 函数在 Kotlin 1.3 版本之前不存在所导致的。
你可以将代码中的 `maxByOrNull` 函数替换成 `maxBy` 函数,并且在后面添加 `?.size`,这样就可以解决问题了。修改后的代码如下:
```kotlin
fun findDiagonalOrder(nums: List<List<Int>>): IntArray {
val n = nums.size
val m = nums.maxBy { it.size }?.size ?: 0
val res = IntArray(n * m)
var k = 0
for (i in 0 until n + m - 1) {
for (j in 0..i) {
val x = j
val y = i - j
if (x >= n || y >= m) continue
res[k++] = nums[x][y]
}
if (i % 2 == 0) {
var l = k - 1
for (j in k - i - 1 until k / 2) {
res[j] = res[l].also { res[l--] = res[j] }
}
}
}
return res
}
```
这里的修改只是将 `maxByOrNull` 替换为 `maxBy` 并添加 `?.size`,其他部分的代码都没有变化。
if (val && val.limit && val.page) { queryParams.value.pageSize = val.limit queryParams.value.pageNum = val.page }
你已经在条件语句中添加了对`val.page`的检查,这是正确的做法。这样可以确保在`val`对象存在并且同时具有`limit`和`page`属性时才执行后续的代码。
```javascript
function getList(val) {
if (val && val.limit && val.page) {
queryParams.value.pageSize = val.limit;
queryParams.value.pageNum = val.page;
loading.value = true;
listUser(proxy.addDateRange(queryParams.value, dateRange.value)).then(res => {
loading.value = false;
userList.value = res.rows;
total.value = res.total;
});
}
}
```
通过添加这些条件检查,你可以避免在`val`对象未定义或者缺少`limit`或`page`属性时引发错误,并确保在满足条件时执行相应的代码。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)