在 Java 的哪个版本中,将 false 赋值给整数变得无效?

In what version of Java did assigning false to an integer become invalid?

我有以下看起来像是 Java 1.1 库的遗留代码:

int colon_index = false;

for(int i = 0; i < params_split.length; ++i) {
    int colon_index = params_split[i].indexOf(":");
    if (colon_index > 0) {
        // ...
    }
}

它似乎正在将 false 分配给 int 类型的变量。这是反编译后的代码,所以也有可能是 IntelliJ 反编译器出错了。

我查看了旧版本的发行说明,但尚未发现此更改。

假设这在 Java 历史的某个时刻是正确的,在哪个版本的 Java 中此语法不再有效?

你不能相信反编译的代码。本来应该是 int colon_index = 0

查看此 了解更多详情。