Chinaunix首页 | 论坛 | 博客
  • 博客访问: 26320646
  • 博文数量: 2065
  • 博客积分: 10377
  • 博客等级: 上将
  • 技术积分: 21525
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-04 17:50
文章分类

全部博文(2065)

文章存档

2012年(2)

2011年(19)

2010年(1160)

2009年(969)

2008年(153)

分类: Java

2009-09-21 19:57:30

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方法修正直接将变量加工再输出。

或者也可以定义全局的变量!



阅读(971) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~