心中的愤怒就像龙咆哮
2016-08-05 18:48
要不要if判断都一样吧,
验证非NULL是编码中很重要的一环。假如本来就是NULL,这是调用各自的close()方法是会报错的。
如果在实例化这些对象时出错导致这些对象为NULL,或是实例化没问题但中途出了什么异常导致这些对象为NULL,都会在未经验证非NULL前尝试调用close()方法关闭时报错。
在try前面定义了变量,默认为null。在最后可能有些变量的值仍为初始值null,为了避免空指针异常,在关闭流、Socket之前,需要检查变量是否为null。
ps:在Java6或更早的版本,通常在finally块中关闭流等,但是Java7引入了“带资源的try”(try with resources),可以更简洁的完成清理。
no 这个还是有必要判定的
Java Socket应用---通信是这样练成的
125006 学习 · 627 问题
相似问题
回答 4
回答 2