Java7的嘗試,有資源,需要申報是偉大的,所有的,但我不能換我周圍爲什麼它需要包括在try
聲明的資源的聲明頭。我的直覺說,下面應該是可能的:爲什麼在Java中的嘗試 - 以資源
CloseableResource thing;
try (thing = methodThatCreatesAThingAndDoesSomeSideEffect()) {
// do some interesting things
}
thing.collectSomeStats();
唉,這將導致一個語法錯誤(若有所思地期待;
)。移動類型定義/聲明到try
聲明的作品,這當然移動的東西到相應範圍內。我可以找出如何解決這個當我想不是讓關越從我AutoClosable
,我感興趣的是爲什麼編譯器需要像這樣。
從Java 9開始,如果它是表示對最終或有效最終變量的引用的表達式就足夠了。 – aioobe
JDK更新 - https://bugs.openjdk.java.net/browse/JDK-7196163 –