首页 > 试题广场 >

下面程序是否有错,如果没有请填写程序执行结果,如果有,说明错

[问答题]
下面程序是否有错,如果没有请填写程序执行结果,如果有,说明错误原因。
public class test(

    public static String chang(String param){ 

        param=null;

        return param;

    }

    public static void main(String[]) arge){

        String param1="p1";

        param1=change(param1);

        map table1=new Hashtable();

        table1.put(param1,"pv1");

        System.out.println(table1.get("p1"));

    }

}

结果会抛出空指针异常。Hashtable和HashMap都实现了Map接口,HashMap可是使用null作为键和值。但是Hashtable不可以使用null。
发表于 2017-01-10 14:13:15 回复(1)
change写错了
发表于 2017-04-12 07:56:14 回复(0)
运行时抛NullPointerException。
HashMap的put()方法可以以null作为key或value;
HashTable的put()方法不可以以null作为key或value。
具体的控制条件在两个类的put()方法源码中有。
发表于 2017-03-13 21:54:25 回复(0)