私は .net 開発者です。最近、Java と C# の比較に興味を持ちました。C# の using ブロックに相当する Java の try-with-resources を見つけました。しかし、私はそれを完全には理解できませんでした。C# の using ブロックは言語機能であり、コンパイラはそのコードを生成することを知っています。try-with-resources について理解を深めたいのですが、いくつか質問があります。
C# の using ブロックに似た言語機能ですか?
以下に相当するJDK 6コードは何ですか:
try(SomeResource resource = new SomeResource()) { //Some logic }
以下に相当するJDK 6コードは何ですか:
try(SomeResource resource = new SomeResource()) { //Some logic } catch(SomeException ex) { }
C# の Reflector または ILSpy ツールに相当する Java は何ですか? つまり、Java バイト コード クラス ファイルを逆アセンブルし、その Java コードを表示するツールです。