4
BufferedInputStreamがフィールドを直接使用するのではなく、フィールドをローカル変数にコピーする理由
からソースコードを読んだときjava.io.BufferedInputStream.getInIfOpen()、なぜ次のようにコードを書いたのか混乱します。 /** * Check to make sure that underlying input stream has not been * nulled out due to close; if not return it; */ private InputStream getInIfOpen() throws IOException { InputStream input = in; if (input == null) throw new IOException("Stream closed"); return input; } in以下のようにフィールド変数を直接使用するのではなく、エイリアスを使用するのはなぜですか? /** * Check …