1
5
从纯Java的角度来看,这些答案似乎都是正确的。此外,如果可以的话,GWT编译器会在生成javascript之前将增强的for循环进一步重写为常规的for循环。所以它最终会看起来像:
原因何在?如果从未引用列表迭代器对象,则可以将其声明为死代码,并且不会在javascript中重写,从而导致较小的下载大小。这种优化对代码的实际执行应该没有任何影响。 见 Optimizing apps with the GWT compiler 从今年的Google I/O中,可以了解更多关于GWT编译器为减小JS大小而做的其他疯狂事情的详细信息。 |
2
7
性能相同。
Java编译器将每个循环转换成一个循环。
|
3
7
从Java语言规范:
正如你所看到的,
|
4
3
从实际的角度来看,您可以检查两个字节码并进行比较:
它们是相等的,唯一的区别是第二个代码段有两个单独的部分来加载
|
5
2
没有区别。foreach构造只获取
|
Safron · 结构和接口中的C#getters/setter 9 年前 |
CalibeR.50 · 定义一个不返回特定字段的getter是好的做法吗? 10 年前 |
WJR · Propel ORM-遍历find()中的数据不会提示getter 10 年前 |