为什么Java编程代码中的此语句无效?

Muh*_*ham -2 java arrays string integer command-line-arguments

args[i] = Integer.parseInt(args[i]);
Run Code Online (Sandbox Code Playgroud)

注意:是的,我正在将String数据类型的数组转换为整数类型值并将其存储到同一个数组中.但是,这个有效的代码会导致错误,为什么呢?是因为整个数组在被转换时被标记为String,这就是为什么它是一个错误,或者?

Jon*_*eet 8

在不使用parseInt以下情况下演示它可能是最简单的:

String[] x = new String[5];
x[0] = 100;
Run Code Online (Sandbox Code Playgroud)

你希望编译吗?它不会因为你试图将int一个String数组元素分配给它.

或者我们也可以摆脱阵列部分:

String x = 100;
Run Code Online (Sandbox Code Playgroud)

你会想到那个编译?如果没有,为什么你认为阵列版本不同?如果您认为阵列版本不同(即它不应该编译),您在我的示例和代码之间看到了什么显着差异?