Это связано с Array of objects in a class. Я изначально добавил его к этому вопросу, но поскольку на этот вопрос был дан ответ, я не получал ответов.ArrayList возвращает неправильное значение
Итак, у меня есть 2 класса. Один из них содержит список другого класса. И я добавляю данные в класс, который я вытащил из базы данных. Однако, когда я иду, чтобы вытащить данные из списка, значения все одинаковы. Они являются значениями последнего элемента в списке.
Я попытался создать объект заново в каждом цикле, но он все еще вызывает проблемы. Я не вижу, что я делаю неправильно здесь.
public class xmldata {
String Barcode;
String First;
String Last;
String Phone;
String Email;
String md5sum;
String zipfile;
List<PictureData> pics = new ArrayList<PictureData>();
...
public class PictureData {
static String filename;
static String directory;
...
xmldata data = new xmldata();
ResultSet pictures=db.query("select * from pictures where barcode=?",barcode);
while (pictures.next()) {
PictureData pictemp= new PictureData();
pictemp.setdirectory(pictures.getString("path"));
pictemp.setfilename(pictures.getString("filename"));
data.pics.add(pictemp);
}
...
for (int j=0; j<data.pics.size();++j) {
String path;
PictureData pictemp2= new PictureData();
pictemp2=(PictureData) data.pics.get(j);
path=pictemp2.getdirectory()+pictemp2.getfilename();
System.out.println(path);
zip.addfile(path);
}
Вы нарушили свое время, чтобы посмотреть содержимое в data.pics? –
На самом деле это не говорит мне, что там. Он просто перечисляет pics> elementData> [0] PictureData (id = 43) и pics> elementData> [1] PictureData (id = 45) – Codeguy007
Где ваша PictureData? – StarPinkER