作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个关于构建ArrayList的问题,我有一个Car类,现在我需要做一个ArrayList来放入内容,我命名为Race,请看下面的代码:
import java.util.ArrayList;
public class Race {
private ArrayList<Car>cars;
public Race(){
cars=new ArrayList<Car>();
}
现在我需要一个向 ArrayList 添加内容的方法,有两种我很困惑的写法:
第一个
public void addCars(){
Car Toyota=new Car("Toyota",1.0,1.0,2.0,2.0);
Car Honda=new Car("Honda",1.0,2.0,1.0,2.0);
Car Mazda=new Car("Mazda",1.0,3.0,2.0,3.0);
Car Suzuki=new Car("Suzuki",1.0,4.0,4.0,2.0);
cars.add(Toyota);
cars.add(Honda);
cars.add(Mazda);
cars.add(Suzuki);
}
第二个
public void addCars(Object nm,String n, double s, double p, double a, double b){
Car name=new Car(n,s,p,a,b);
cars.add(name);
}
这两种方式我编码的时候都没有报错,但是我不确定哪一种是正确的,也可能两种都不正确,请大家帮忙,干杯!
更新:
public void addCars(Car car){
cars.add(car);
}
这是我最后使用的,然后我创建了一个名为 Test 的新类,它使用 main 方法单独添加汽车,但最后一行有错误:
public class Test {
public static void main(String[] args) {
Car Toyota=new Car("Toyota",1.0,1.0,2.0,2.0);
**cars.addCars(Toyota);**
我不知道如何解决它,请帮忙!
最佳答案
这取决于你想达到什么目的。一般来说,最好提供 API 并从外部使用它们。但是,在您的情况下,我认为您的“addCars”函数用于填充您的 ArrayList(您应该这样调用它)——这意味着将预定义的值添加到集合中。在这种情况下,请使用第一个。
因此,您的两种方法都是正确的(虽然您应该调用第一个 populateCars
和第二个 addCar
)并且应该可以工作,但是您需要根据以下情况使用它们你的情况。
还有,如果你想提供一个添加汽车的API,让用户自己得到一个汽车对象,而不是在add方法中构造一个。 (你可能想在添加之前更改它,你永远不知道)
所以我建议使用其中一种方法,但将第一种方法更改为:
public void populateCars(){
Car Toyota=new Car("Toyota",1.0,1.0,2.0,2.0);
Car Honda=new Car("Honda",1.0,2.0,1.0,2.0);
Car Mazda=new Car("Mazda",1.0,3.0,2.0,3.0);
Car Suzuki=new Car("Suzuki",1.0,4.0,4.0,2.0);
cars.add(Toyota);
cars.add(Honda);
cars.add(Mazda);
cars.add(Suzuki);
}
或第二个:
public void addCar(Car car){
cars.add(car);
}
关于java - 如何在 Java 的 ArrayList 类中使用 add(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19208980/
我是一名优秀的程序员,十分优秀!