作为赋值的一部分,我应该创建一堆矩形并将每个对象放在ArrayList
中,这将在构造函数中初始化。我想我自己很困惑。 Eclipse告诉我,我不能将.add(new_rec)
与此对象一起使用,因为它的类型为(Double
,Double
)。我假设因为ArrayList只是<Double>
,这导致了一些问题。除此之外,我认为我在其他地方被误导了,但我不确定在哪里。
public class WhyWontThisWork {
WhyWontThisWork(Double name, Double rec_name){
Rectangle new_rec = new Rectangle(23.1,43.0);
ArrayList<Double> name = new ArrayList<Double>();
for(int i = 0; i < 10; i++){
name.add(new_rec);
}
}
}
...而Rectangle
类看起来像......
public class Rectangle {
private double length;
private double width;
public Rectangle(double length, double width){
this.length = length;
this.width = width;
}
答案 0 :(得分:2)
使用的ArrayList需要
ArrayList<Rectangle> name = new ArrayList<Rectangle>();
当你使用arrayList来保存矩形而不是双打时。
答案 1 :(得分:2)
这非常简单 - 名称所需的类型应为:
ArrayList<Rectangle> name = new ArrayList<Rectangle>();
&lt;&gt;内的泛型类型表示您要添加到ArrayList的内容。如果您需要存储一个double数组,如果它们是字符串,则可以ArrayList<Double>
使用ArrayList<String>
在您的情况下,您需要存储一个矩形列表,因此ArrayList<Rectangle>
是您的解决方案。
答案 2 :(得分:0)
您的arraylist必须是Rectangle类型才能执行此操作。
ArrayList<Rectangle> name = new ArrayList<Rectangle>()
答案 3 :(得分:0)
Eclipse是对的。
ArrayList<Rectangle> name = new ArrayList<Rectangle>();
name.add(new_rec);
答案 4 :(得分:0)
参数和ArrayList name
也是一样的,如下所示进行更改:
WhyWontThisWork(Double nameDouble, Double rec_name){
Rectangle new_rec = new Rectangle(23.1,43.0);
ArrayList<Rectangle> name = new ArrayList<Rectangle>();
for(int i = 0; i < 10; i++){
name.add(new_rec);
}
}
答案 5 :(得分:0)