我正在尝试使用Java执行以下操作,这被允许吗?
import java.util.ArrayList;
class Apple {
void makeAppleArrayList() {
ArrayList<String> appleArrayList = new ArrayList<String>();
appleArrayList.add("apple");
Banana b = new Banana();
b.copyAppleArrayList(appleArrayList);
}
}
import java.util.ArrayList;
class Banana {
ArrayList<String> bananaArrayList = new ArrayList<String>();
void copyAppleArrayList(ArrayList<String> arrayList) {
bananaArrayList = arrayList;
}
}
好吧,与其在苹果中创建一个香蕉实例,不如在香蕉中创建一个苹果实例,然后执行以下操作:
Apple apple = new Apple();
bananaArrayList = apple.appleArrayList;
因此,由于它是在函数内部创建的,因此可以在构造函数中将其初始化,如下所示:
public class Apple{
public ArrayList<Perk> appleArrayList;
public PerkGenerator() {
this.appleArrayList = new ArrayList();
而且,如果您这样做,则无需在函数内进行操作。但是,如果您仍然想在函数内执行此操作。只需保留该代码即可。并在苹果内部执行此操作:
public ArrayList makeApple(){
ArrayList apples = new ArrayList();
return apples;
然后在香蕉内部执行以下操作:
bananaArrayList = apple.makeApple
这行得通,因为make apple函数返回一个arraylist :)这是有关从方法返回值的一些信息:) http://docs.oracle.com/javase/tutorial/java/javaOO/returnvalue.html
希望我能帮助:)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句