打字猴:1.700446057e+09
1700446057
1700446058 case Spring:
1700446059
1700446060 System.out.println(“春天放风筝”);
1700446061
1700446062 break;
1700446063
1700446064 case Summer:
1700446065
1700446066 System.out.println(“夏天游泳”);
1700446067
1700446068 break;
1700446069
1700446070 case Autumn:
1700446071
1700446072 System.out.println(“秋天捉知了”);
1700446073
1700446074 break;
1700446075
1700446076 case Winter:
1700446077
1700446078 System.out.println(“冬天滑冰”);
1700446079
1700446080 break;
1700446081
1700446082 default:
1700446083
1700446084 System.out.println(“输入错误!”);
1700446085
1700446086 break;
1700446087
1700446088 }
1700446089
1700446090 }
1700446091
1700446092 上面的代码中输入了一个Season类型的枚举,然后使用switch进行匹配,目的是输出每个季节能进行的活动。现在的问题是:这段代码有没有问题?
1700446093
1700446094 我们先来看它是如何被调用的,因为要传递进来的是Season类型,也就是一个实例对象,那当然应该允许为空了,我们就传递一个null值进去看看有没有问题,代码如下:
1700446095
1700446096 public static void main(String[]args){
1700446097
1700446098 doSports(null);
1700446099
1700446100 }
1700446101
1700446102 似乎会打印出“输出错误!”,因为在switch中没有匹配到指定值,所以会打印出default的代码块,是这样的吗?不是,运行后的输出如下所示:
1700446103
1700446104 Exception in thread”main”java.lang.NullPointerException
1700446105
1700446106 at Client.doSports(Client.java:9)
[ 上一页 ]  [ :1.700446057e+09 ]  [ 下一页 ]