L雨泽
2017-04-05 19:39
if(socket != null) socket.close(); 既然不为空,为什么还要关闭?
没有上下文的代码只能猜测,强答一发。socket.close()这个方法调用是需要具体的对象的如Socket socket = new Socket(8888);如果没有对象只有引用,那么就会初始化为null,在null这个无意义的数据上是无法产生有意义的结果的。有点偏题。。。。socket如果不为空,那么一定有一个Socket对象被打开,当使用完后资源没有close就会占用资源,可能造成别的程序无法访问资源。。。但是这个if是感觉没必要的,在null上调用close是没有意义的,个人见解,欢迎指教
当为空的关闭时会出现异常,你自己可以尝试下的。当为空的时候,代表未成功创建
Java Socket应用---通信是这样练成的
125013 学习 · 590 问题
相似问题