我想从同一个类下的多个对象检索某些值。我已经使用每个循环遍历每个对象,并且希望创建一个汇总总计,表示该对象中项目的评分和成本。如何将java类中所有对象的值加在一起?
的对于我的父类中的每个循环:
for (Song songObj : Song.returnSongs()) {
totalSongCost += Double.parseDouble(songObj.getPrice());
totalSongRating += Integer.parseInt(songObj.getRating());
}
子类的ArrayList旨在存储对象:
private int rating;
private String title;
private double price;
private boolean favorite;
private static int counter = 0;
private static ArrayList songArray = new ArrayList();
/**
* Constructor for objects of class Song
*/
public Song()
{
// initialise instance variables
rating = 0;
title = "";
price = 0.0;
counter++;
songArray.add(this);
}
public static ArrayList returnSongs() {
return songArray;
}
当我编译我得到一个错误信息的代码说的对象不能转换成歌曲。有没有办法解决这个问题,或者一个更简单的方法来完成相同的任务?
你可能应该有另一个类,比如“Album”,它拥有歌曲的数组列表,因为你当前的实现将不起作用。您不能将包含列表的对象(即歌曲)添加到列表中(在歌曲中)。 –
@BenjaminLowry对象不包含列表,因为它是'static',因此不属于任何对象。 – ajb
@ajb啊,是的,我的坏,没有看到它是静态的。 –