java.lang.NullPointerException
at videostore.BinaryFile.adderoo(BinaryFile.java:47)
at videostore.VideoStore.jButton1ActionPerformed(VideoStore.java:384)
at videostore.VideoStore.access$100(VideoStore.java:17)
at videostore.VideoStore$2.actionPerformed(VideoStore.java:189)
ライン47:if (videosList == null || videosList.size() == 0)
ArrayListに関してNullPointerExceptionが発生しましたか?
ライン384:BinaryFile.adderoo(vid);
次のような方法を指し
:
public void adderoo(Video v) {
if (videosList == null || videosList.size() == 0) {
videosList = new ArrayList<>(10);
}
videosList.add(v);
}
行17:public class VideoStore extends javax.swing.JFrame {
ライン189:jButton1ActionPerformed(evt);
本質的に私は作成したArraylistにVideoオブジェクトを追加しようとしていますvideosList。しかし、私がしようとするたびに、私はその例外を取得し、私は私のBinaryFileクラスでのArrayListを初期サイズでのArrayList ..
初期化されているので、なぜ私はわからない。そして、public static ArrayList<Video> videosList;
を私が方法を持っています私はそれのコンストラクタで私の主なvideoStoreクラスで実行負荷、命名:
public void load() throws Exception {
BufferedReader br = new BufferedReader(new FileReader(FILE_NAME));
if (br.readLine() != null) {
try {
File log = new File(FILE_NAME);
FileInputStream fileIn = new FileInputStream(log);
ObjectInputStream in = new ObjectInputStream(fileIn);
ArrayList<Video> videosList = (ArrayList)in.readObject();
in.close();
fileIn.close();
} catch (Exception i) {
i.printStackTrace();
}
} else {
ArrayList<Video> videosList = new ArrayList<>(10);
}
br.close();
}
この方法の意図は、ファイルがすでにArrayListのが含まれているかどうかを確認することであり、それはそれが含まれている場合、それはデそれを直列化するArrayListに配置します。
私はすべてのストップをカバーしたように感じるので、なぜ例外が発生しているのか分かりません。 videosListがnullの場合
@KevinEsche感謝:ここ
!(videosList != null && videosList.size() > 0)
は、コードスニペットです!それはそれを直して固定した。私はそれを感謝します:)答えとしてポスト私はあなたに緑色のチェックの事を与えることができますか? –
videoListが 'null'の場合、遅延条件の評価により、if条件の2番目の部分を評価すべきではありません。より安全で安全なチェックをしてみてください。例えば、あなたが 'videosValues!= null && videosList.size()> 0' – FredMaggiowski