我正在编写一个程序,该程序将使用临时列表和日期,并使用对象数组实现该列表。每个对象将存储temp(double)和day(string)。然后我们需要对对象进行排序并输出它们。我使用两个变量,get/set方法和构造函数创建了我的第一个类(DailyTemperature)。现在,当我去创建带有ArrayList的第二个类(DailyTemperatureList)时,尝试添加到列表中时出现错误,错误提示
“找不到适用于add(java.lang.String,double)方法java.util.ArrayList.add(int,DailyTemperature)的合适方法(实际参数java.lang.String无法通过方法调用转换转换为int)方法java.util.ArrayList.add(DailyTemperature)实际上不适用,正式列表的长度也不同。
我以为是因为我正在尝试使用DailyTemperature类中的变量。但是当我扩展它时,我收到一条错误消息,指出无法将类DailyTemperature中的构造函数DailyTemperature应用于给定类型。我不知道为什么。我不应该继续工作吗?
这是我的代码:
import java.io.*;
import java.util.Scanner;
import java.util.ArrayList;
public class DailyTemperature
{
//variables
private double temperature;
private String day;
//getTemp & setTemp methods
public double getTemp()
{
return temperature;
}
public void setTemp(double newTemp)
{
temperature = newTemp;
}
//getDay & setTEmp methods
public String getDay()
{
return day;
}
public void setDay(String newDay)
{
day = newDay;
}
public DailyTemperature(String day, double temperature) {
this.day = day;
this.temperature = temperature;
}
}
import java.io.*;
import java.util.Scanner;
import java.util.ArrayList;
public class DailyTemperatureList extends DailyTemperature
{
public static void main (String [] args) {
ArrayList<DailyTemperature> dailytemps = new ArrayList<DailyTemperature>();
dailytemps.add("Mon", 78.1);
}
}
最佳答案
dailytemps
是ArrayList
的DailyTemperature
。因此,在添加它时,您需要添加一个DailyTemperature
实例:
dailytemps.add(new DailyTemperature("Mon", 78.1));
按照当前的实现,
DailyTemperatureList
不需要扩展DailyTemperature
。关于java - 尝试扩展类(class)时遇到问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19203925/