关于if语句的问题?在线等 请问:以下两快代码有什么区别?if(1 == 1){ ...}int i=1;if(i == 1){ ...}我要是在这两个if语句体中写代码,会有什么不同? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 结果都返回TRUE,具体里面是怎么比的就不知道的,应该如果是INT的都一样的吧! 可是,如果我要是写一个类比如叫MyClass,并在这个类中重载finalize()函数,if(1 == 1){ MyClass myClass1=new MyClass();}int i=1;if(i == 1){ MyClass myClass2=new MyClass();}System.gc();//此时,会调用myClass2中的finalize()函数,但并不调用myClass1的finalize()函数,也就是说Garbage Collection并没有应用到myClass1上,这是为什么? int i=1;if(i == 1){ MyClass myClass2=new MyClass();}if(1 == 1){ MyClass myClass1=new MyClass();}这样就会调用myClass1的方法了。 如果真需要这样的话,还是用if(true)吧 我觉得根本的区别还是在if( 1 == 1){ ...} 和int i=1;if( i== 1){ ...}上,在第一个if块中new的对象不会调用垃圾收集,但是在第二个if块中new的对象就会被垃圾收集。顺便指出一下,第一个if块应该和以下两个块等价:if(true){ ...}和{ ...} 同意 qqbz(qqbz) if( 1 == 1){ MyClass myClass2=new MyClass();} 在编译成class后变成 MyClass myClass2=new MyClass();函数方法结束后才回收myClass2,myClass2作用域变成整个函数体了。 那么,为什么在编译成class文件后要改变成MyClass myClass2 = new MyClass();呢?谢谢 这个String 函数哪里错了?很基础,请进来看一下 jdk1.5.0如何设置环境变量 求助---- 一键新建记事本??? 大家帮帮我啊:关于画圆的问题 两个基础的问题(类访问权限&自动装箱) FileWriter写文件数据大小超过8192就会出错??? Struts+Hibernate超难问题!只要回答正确,分不够可以加! 关于PreparedStatement的问题 question on java javamail里面的中文问题(接收邮件,发送的时候都已经解决) 如何用程序向论坛发帖? java中关于比较的问题(在线跪求)
if(1 == 1)
{
MyClass myClass1=new MyClass();
}int i=1;
if(i == 1)
{
MyClass myClass2=new MyClass();
}
System.gc();//此时,会调用myClass2中的finalize()函数,但并不调用myClass1的finalize()函数,也就是说Garbage Collection并没有应用到myClass1上,这是为什么?
if(i == 1)
{
MyClass myClass2=new MyClass();
}
if(1 == 1)
{
MyClass myClass1=new MyClass();
}
这样就会调用myClass1的方法了。
if( 1 == 1)
{
...
}
和
int i=1;
if( i== 1)
{
...
}
上,在第一个if块中new的对象不会调用垃圾收集,但是在第二个if块中new的对象就会被垃圾收集。顺便指出一下,第一个if块应该和以下两个块等价:
if(true)
{
...
}
和
{
...
}
{
MyClass myClass2=new MyClass();
}
在编译成class后变成
MyClass myClass2=new MyClass();函数方法结束后才回收myClass2,myClass2作用域变成整个函数体了。
呢?谢谢