1.请看如下的示例:
public static void main(String[] args) {
DBUtil db = new DBUtil();
Object tests = new Object();
if (tests != null) {
System.out.print("not null");
}
}
打印输出为not null
然后我在这个DBUtil类中再写一个置对象为NULL的方法定义如下:
public void test(Object obj) {
if (obj != null) {
obj = null;
}
}
然后我的main方法如下调用:
public static void main(String[] args) {
DBUtil db = new DBUtil();
Object tests = new Object();
db.test(tests);
if (tests != null) {
System.out.print("not null");
}
}
还是一样会输出 not null
这是因为,main方法中出来的tests是单独一个内存空间。跟方法test中是两个独立的对象当然位置不同
我现在可以这样解决:
public Object test(Object obj) {
if (obj != null) {
System.out.print("not null456");
obj = null;
}
return obj;
}
将test方法修正直接将变量加工再输出。
或者也可以定义全局的变量!
阅读(1012) | 评论(0) | 转发(0) |