私はstaticListを持っていますが、これはjobsListというコードのどこかで使用されています。私はそれに静的メソッドを使用して要素を追加したいと思います。なんらかの理由で、私は要素を追加するたびに、最初の要素は今追加した要素であり、それ以外は何もないようにjobListを上書きしています。のように、他の要素はこれまで追加されていません。以下の関連するコードは:最初の要素を上書きする静的なArrayListに追加
public static ArrayList<Job> jobList = null;
public JobSchedule() {
jobList = new ArrayList<Job>(10);
}
public static Job addJob(int time) {
System.out.println("Adding job " + time);
Job j = new Job(time);
jobList.add(j);
System.out.println("Current joblist size: " + jobList.size());
System.out.println("First element: " + jobList.get(0).weight);
return j;
}
プリントラインからの出力は次のようになります。
Adding job 8
Current joblist size: 1
First element: 8
Adding job 5
Current joblist size: 1
First element: 5
理想的
私はそれがサイズをインクリメントし、正しいインデックスで仕事を置くべき追加するたびに、私はよなぜarraylistが上書きされているのか分かりません。
答えは静的なのでです。すべての静的を削除し、それは動作します – XtremeBaumer
'static ArrayList jobList' ....' public JobSchedule(){jobList = new ArrayList (10); } '、何かここにはないように見えます。 –
SomeJavaGuy
メソッドまたはarrayListを意味しますか?私は静的にするためにarrayListを必要とし、メソッド宣言から静的を削除するときにも同じ問題が発生します。 – Drivebyluna