判断资源是否为null是不是很多余?

来源:3-5 使用多线程实现多客户端的通信

心中的愤怒就像龙咆哮

2016-08-05 18:48

要不要if判断都一样吧,

写回答 关注

3回答

  • Airly
    2016-10-24 11:12:30
    已采纳

    验证非NULL是编码中很重要的一环。假如本来就是NULL,这是调用各自的close()方法是会报错的。

    如果在实例化这些对象时出错导致这些对象为NULL,或是实例化没问题但中途出了什么异常导致这些对象为NULL,都会在未经验证非NULL前尝试调用close()方法关闭时报错。


  • zzzzzzz小盆友
    2016-12-30 14:22:28

    在try前面定义了变量,默认为null。在最后可能有些变量的值仍为初始值null,为了避免空指针异常,在关闭流、Socket之前,需要检查变量是否为null。

    ps:在Java6或更早的版本,通常在finally块中关闭流等,但是Java7引入了“带资源的try”(try with resources),可以更简洁的完成清理。

  • 爱你好真
    2016-08-05 22:20:21

    no    这个还是有必要判定的

    慕少7573... 回复心中的愤怒就...

    别人不是解释作用了吗

    2017-09-28 17:24:50

    共 2 条回复 >

Java Socket应用---通信是这样练成的

分享的是 Java 中的网络编程,使用Socket实现网络聊天通信

125006 学习 · 627 问题

查看课程

相似问题