什么是Java的“延迟”等价物

时间:2015-04-22 05:16:46

标签: java go try-catch-finally

这只是Go代码的一个简短示例:

package main

import "fmt"

func main() {
    defer fmt.Println("world") //use of keyword 'defer'

    fmt.Println("hello")
}

我在Java中找到了相当于'defer'的内容。

而不是'推迟'我可以使用

try {
    //do something
} finally {
    //code using defer
}

有没有使用try / catch / finally的替代方案?

1 个答案:

答案 0 :(得分:3)

在java 7及以上版本中,您可以使用try-with-resource:

public static String readFirstLineFromFile(String path) throws IOException {
  try (BufferedReader br = new BufferedReader(new FileReader(path))) {
     return br.readLine();
  }
}

退出试用时,它将关闭资源 docs:link