在java中更改两个不同函数内的原始对象

时间:2016-04-22 13:13:35

标签: java arraylist

我是java的新手。我创建了以下两个用于添加城市的类(此处显示了部分代码):

public class TourManager {

// Holds our cities
private static ArrayList destinationCities = new ArrayList<City>();

// Adds a destination city
public static void addCity(City city) {
    destinationCities.add(city);
}
}

public class Tour{

// Holds our tour of cities
private ArrayList tour = new ArrayList<City>();

// Constructs a blank tour
public Tour(){
    for (int i = 0; i < TourManager.numberOfCities(); i++) {
        tour.add(null);
    }
}
 public ArrayList getTour(){
    return tour;
}

}

现在我创建了以下两个旅游类对象:

Tour currentSolution = new Tour();
Tour newSolution = new Tour(currentSolution.getTour());

我声明了两个函数如下:

void Fuction1(Tour newSolution);
void Fuction2(Tour newSolution);

我想将newsolution对象作为参数传递给上述两个函数,以便我们可以操纵这两个函数中的原始对象所以,真的说,我想传递参考价值。现在如果我按以下方式传递它:

Function1(newsolution);
Function2(newsolution);

它会改变这两个函数中的原始对象吗?如果没有,那么这样做的正确方法是什么?

0 个答案:

没有答案