下記のコードの、
BufferedReader buffRdr = null;
の部分ですが、nullで初期化する理由がわかりません。
nullでの初期化がなくてもコンパイルは通っています。
もしも、初期化をしないままでBufferedReader のインスタンスを作らずに、
BufferedReader の readLine() を使用しようとしてもコンパイルエラーになるだけなので、
コンパイルエラーの対処をすれば問題ないのではないかと思いました。
あえて、nullで初期化をする意味はありますでしょうか?
宣言をした後は初期化するという慣習(?)を適用しているだけかと考えましたが、
宣言するすべての変数を初期化するルールというのは合理的ではなさそうなので、
違う理由があるのではないかと考えています。
もし宣言の後は初期化するのだとすれば、
buffRdr = new BufferedReader(new FileReader("aaa.txt"));
の部分は、以下のようにするのではないでしょうか? # さすがに冗長だとは思いますが・・・。
FileReader fr = null;
fr = new FileReader("aaa.txt");
buffRdr = new BufferedReader(fr);
プログラミング初心者のため、至らない点あるかと思いますが、ご回答よろしくお願いいたします。
import java.io.*; class teratail1 { public static void main(String[] args) { BufferedReader buffRdr = null; try { buffRdr = new BufferedReader(new FileReader("aaa.txt")); String str = buffRdr.readLine(); } catch (IOException e) { System.out.println(e); } } }
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/12 12:24