try后面的小括号的作用--【Java7的又一个新特性】

匿名 (未验证) 提交于 2019-12-02 21:35:04

先看一下rabbitmq官方实例的代码

 import com.rabbitmq.client.Channel; import com.rabbitmq.client.Connection; import com.rabbitmq.client.ConnectionFactory;  public class Send {      private final static String QUEUE_NAME = "hello";      public static void main(String[] argv) throws Exception {         ConnectionFactory factory = new ConnectionFactory();         factory.setHost("localhost");         try (Connection connection = factory.newConnection();              Channel channel = connection.createChannel()) {             channel.queueDeclare(QUEUE_NAME, false, false, false, null);             String message = "Hello World!";             channel.basicPublish("", QUEUE_NAME, null, message.getBytes("UTF-8"));             System.out.println(" [x] Sent '" + message + "'");         }     } }

那么问题来了,try()中添加了内容是什么意思呢,也就是下面这部分代码

try (Connection connection = factory.newConnection();
)

解析原因,同学们,划重点啦,注意看下面

Java 7增强了try语句的功能――它允许在try关键字后跟一对圆括号,圆括号可以声明,初始化一个或多个资源,此处的资源指得是那些必须在程序结束时必须关闭的资源(比如数据库连接,网络连接等),try语句在该语句结束时自动关闭这些资源。

为了保证try语句可以正常关闭资源,这些资源实现类必须实现Closeable或AutoCloseable接口,实现这些类就必须实现close方法。

文章来源: https://blog.csdn.net/qq_37306041/article/details/87687869
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!