我使用的是Java 1.8,尽管try-with-resource在应用程序的其他部分工作得很好,但在一个类中,我编写了如下代码:
try(Socket sock = socket != null ? socket : new Socket()){ //Other implementation}
上面写着资源泄露。有什么线索吗?
发布于 2018-05-28 13:58:16
我从消息中了解到,如果套接字不为空并且未赋值的对象无法关闭,则有一个选项来设置套接字无法初始化。
发布于 2018-05-28 14:13:06
您的代码原则上是没有问题的,所以Eclipse给出的警告可以忽略。
然而,如果你像这样写代码,你的代码会更清晰:
if(null != socket){
try(Socket sock = new Socket()){
}catch(Exception e){
}
}
https://stackoverflow.com/questions/50559731
复制相似问题