java很诡异的一个问题
在:http://topic.csdn.net/u/20070828/10/7aa61fbc-8575-4212-85c4-582c08f81535.html,看到其中一道题如下:
public class Test {
public static void main(String[] args) {
for(int i = 0; i <= 10; i++)
Integer k = new Integer(i);
System.out.println( "Java Puzzlers ");
}
}
,当我把代码拷贝至myeclipse中后,发现编译报错!原因是这句:Integer k = new Integer(i);,
但是当我给for加上大括号时,改成这样:
for(int i = 0; i <= 10; i++) {
Integer k = new Integer(i);
}
就不会报错了,感觉很纳闷,是JVM在作祟???
大家探讨下,此做何解????
[解决办法]
《java解惑》中有
[解决办法]
牵涉到内存溢出,垃圾回收等问题。
[解决办法]
很有意思
[解决办法]
Integer k; for(int i = 0; i <= 10; i++) k = new Integer(i); System.out.println( "Java Puzzlers ");
[解决办法]
所以很多都建议不要去省略大括号,哪怕是循环语句if语句这些语句好变就一条执行语句的时候也不要省略大括号。
[解决办法]