kotlin - 运算符 '==' 不能应用于 'Boolean' 和 'Char'

标签 kotlin char boolean operators

所以我想用尽可能少的代码比较一个数组的三个成员。这是我所做的:

for(i in 0..2) {
    if(board[i][0] == board[i][1] == board[i][2]) {
        return true
    } else if(board[0][i] == board[1][i] == board[2][i]) {
        return true
    }
}

(所有值都是 Char 的 FYI)但是它没有用。我收到此错误消息“运算符‘==’不能应用于‘ boolean 值’和‘字符’”。我也尝试过使用 .equals,但没有用。有什么想法吗?

最佳答案

您可以编写一个小函数以使其更具可读性和整洁性,尤其是当您需要经常进行比较时:

fun allEqual(vararg items: Any) : Boolean {
    for(i in 1..(items.size-1)){
        if(items[0] != items[i]) return false
    }
    return true
}

并简单地通过逗号分隔值调用:

allEqual(board[i][0], board[i][1], board[i][2])

关于kotlin - 运算符 '==' 不能应用于 'Boolean' 和 'Char',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50769139/

相关文章:

android - Kotlin 中按钮状态的不同背景

android - Jetpack Compose WebView 处理返回导航并转到上一页

android - Kotlin中view.setOnLongClickListener和view.onClick的比较

spring-boot - Kotlin Mock Spring boot 测试无法编译

c - C 中非常简单的密码函数

C 中的字符数组

c - 字符串/数组参数有助于 C 编程

java - 这个for循环的范围可以再小一点吗?

java - 从 float 转换为 double

javascript - 检查 Typescript/Javascript 中与 "true"、 "false"和 "undefined"相关的 boolean 值