我正在使用Java 1.8,虽然try-with-resource在应用程序的其他部分工作正常但在我编写的一个类中:
try(Socket sock = socket != null ? socket : new Socket()){ //Other implementation}
它说资源泄漏。任何线索?
答案 0 :(得分:0)
我从消息中了解到,如果socket不为null且未分配对象无法关闭,则有一个Socket无法初始化的选项。
答案 1 :(得分:0)
您的代码原则上没有问题,因此可以忽略Eclipse提供的警告。
但是,如果您这样编写代码会更清晰:
if(null != socket){
try(Socket sock = new Socket()){
}catch(Exception e){
}
}