java - 为什么不能在没有花括号的循环中将 int 分配给 Integer?

标签 java

<分区>

Possible Duplicate:
Why this is not compiling in Java?

在 java 中,花括号对于一行 for 循环是可选的,但我发现了一种不允许的情况。例如,这段代码:

for(int i = 0; i < 10; i++)
    Integer a = i;

不会编译,但是如果你添加花括号,像这样:

for(int i = 0; i < 10; i++){
    Integer a = i;
}

会的。为什么这段代码不能编译?

最佳答案

因为在单行语句中声明一个新变量是没有意义的,因为它会立即超出范围。

如果您查看 statement 的定义在 Java 中,它不包含 LocalVariableDeclarationStatement,而 block

关于java - 为什么不能在没有花括号的循环中将 int 分配给 Integer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2024515/

相关文章:

java - 如何在 Blackberry 项目中存储 32 MB 文件

Java - 具有相同名称的静态变量和参数

java - 编程 Eclipse 插件用于在项目中搜索文件(需要基本帮助)

java - config 在 GenericServlet 中具有私有(private)访问权限

java - 如何在Java中使用时间格式

java - 从 Activity 中更新 fragment ListView

Java,如何在 apache kafka 中获取主题中的消息数

java - 如何通过分段文件上传接受表单参数

java - JSON Jackson 序列化反序列化列表列表

java - 使用 OpenId AppAuth-Android 库时具有隐式 Intent 的 PendingIntent 返回已取消的异常