先頭に戻る:私は今、JavaをやっているC#の男です。これらの不満の中には、私がJavaの知識が不足しているものがあります。AutoCloseableからヌズランスを取り除く
最初に、Exception
を確認する必要のない「安全な」AutoCloseable
の実装方法がありますか? close
メソッドからスローされない自分のクラスを含めるなら、なぜ私はそれをチェックしなければならないのかわかりません。
第2に、何が返されるのか気にしないtry
ステートメントの式を単純化する方法はありますか?私は
try (getAutoCloseable()) {
// yay!
}
へのJavaを簡素化することができることを望む
try (AutoCloseable iDontCare = getAutoCloseable()) {
// dont you dare use iDontCare
}
:
using (new Disposable())
{
// yay!
}
とJavaは、一時変数に代入するために私を強制するようだ:たとえばC#で、私はこれを行うことができます
@lucasvw私はコードを簡素化したいだけです。内部的にその状態を維持する。 C#ではこのパターンを使用してコードブロックの範囲をトレースします。完了したら、内部コードがスローされたかどうかにかかわらず、自動的に "ポップ"します。 –
私は単純化されたJavaが何をするのかよく分かりません。変数に代入しない場合は、tryブロックで使用することはできません。したがって、tryブロックに例外がスローされた場合は、その変数を閉じる必要はありません。 – lucasvw
'try {} catch {}'ブロックをオブジェクトなしで使用できませんでしたか? – lucasvw