论坛首页 招聘求职论坛

一个馒头引发的血案

浏览 16802 次
该帖已经被评为隐藏帖
作者 正文
   发表时间:2008-11-27   最后修改:2008-11-28
Main.class
package mytest;


import java.util.ArrayList;
import java.util.List;

public class Main {

    public static void main(String[] args) throws CloneNotSupportedException, BusinessException {
       
        List a = null;

        B b = new B();
        b.mm(a);
        System.out.println(a);
    }
}

B.class

package mytest;

import java.util.ArrayList;
import java.util.List;

public class B {

    public void mm(List a) {
       a = new ArrayList();
       a.add("mm");
    }
}

为什么是抛出异常 而不是mm呢  我的jdk是1.5的
   发表时间:2008-11-27  
别想了改行吧
0 请登录后投票
   发表时间:2008-11-27   最后修改:2008-11-27
LZ新手吧?

跟JDK版本无关。
  a = new ArrayList();
自己想想这句做了什么?是什么意思
想通了顺便把标题改下,字打错了
0 请登录后投票
   发表时间:2008-11-27  
方法mm()里的a只是形参,作用域只是这个方法体。
0 请登录后投票
   发表时间:2008-11-27  
应该是null,如果你把a = new ArrayList(); 放到主方法里,可以打出mm,这样你应该能想明白为什么吧
0 请登录后投票
   发表时间:2008-11-27  
空指针异常
0 请登录后投票
   发表时间:2008-11-27   最后修改:2008-11-27
呵呵,lz很幽默
1 请登录后投票
   发表时间:2008-11-27  
应该不会抛出异常,这个涉及实例创建和参数引用的问题,一般初学者不明白也很正常,不明白为什么这么多人都劝lz改行,你们真的明白?
1 请登录后投票
   发表时间:2008-11-27  
zhangsheng79 写道
应该是null,如果你把a = new ArrayList(); 放到主方法里,可以打出mm,这样你应该能想明白为什么吧



本来就在主方法里阿
0 请登录后投票
   发表时间:2008-11-27  
huangxin_sy 写道
zhangsheng79 写道
应该是null,如果你把a = new ArrayList(); 放到主方法里,可以打出mm,这样你应该能想明白为什么吧



本来就在主方法里阿

我说的main方法里,你好好看看代码
0 请登录后投票
论坛首页 招聘求职版

跳转论坛:
Global site tag (gtag.js) - Google Analytics