最近的Refactoring Project真是令人發悶,由於 Upgrade Project 是包含了 Java 5-->Java 7 的Update, 我可以測試一下 Java 7 的 try with Resource.
Try-With-Resource 是指 Java 在 嘗試 Initialize Resource 的時候的動作:
1. Object Initialized successful -> Close the resource
2. Object Initialized failed -> Close the resource
Java 7:
static String readFirstLineFromFile(String path) throws IOException
{
try (BufferedReader br =
new BufferedReader(new FileReader(path)))
{
return br.readLine();
}
}
Before Java 7:
static String readFirstLineFromFileWithFinallyBlock(String path)
throws IOException
{
BufferedReader br = new BufferedReader(new FileReader(path));
try {
return br.readLine();
}
finally {
if (br != null) br.close();
}
}
比較一下,大家可以發現沒有Try-with-Resource 沒有了 finally 關上 BufferedReader 的 Coding.
Resource 只需要 implements AutoCloseable, 便可以以使用 這種 syntactic sugar 了.
其實這種 Syntax , 在 C# 一早便已存在(Using())
沒有留言:
張貼留言