美文网首页
【JAVA语法糖】try-with-resources

【JAVA语法糖】try-with-resources

作者: Hao_38b9 | 来源:发表于2020-04-21 16:14 被阅读0次

    语法糖之——try-with-resources

    使用方法

    try(FileInputStream inputStream = new FileInputStream("README.md")){
        inputStream.read();
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
    

    以上代码可以转化为

    try(FileInputStream inputStream = new FileInputStream("README.md")){
        inputStream.read();
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }finally{
        if(inputstream!=null){
            inputstream.close();
        }
    }
    

    优点

    • 可以自动帮我们进行对象的关闭操作

    自定义类使用try-with-resources

    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.IOException;
    
    public class Test implements AutoCloseable{
        public void send(){
            System.out.println("发送");
        }
        @Override
        public void close() throws Exception {
            System.out.println("对象关闭了");
        }
    
        public static void main(String[] args) {
            try(Test test = new Test()){
                test.send();
            }catch (Exception e){
                e.printStackTrace();
            }
        }
    }
    
    
    • 需要实现 AutoCloseable 接口 并实现 close 方法

    相关文章

      网友评论

          本文标题:【JAVA语法糖】try-with-resources

          本文链接:https://www.haomeiwen.com/subject/mwxpihtx.html