你好,我是Java的初学者,这是我的问题:我有第一堂课,代码:
import java.util.ArrayList;
public class A {
ArrayList<String> a1;
public A (ArrayList<String> a1) {
this.a1 = a1;
a1.add("Winter");
a1.add("Spring");
a1.add("Summer");
}
public ArrayList<String> getString() {
return a1;
}
}
第二课,代码:
import java.util.ArrayList;
public class B {
ArrayList<String> b1;
public void A (ArrayList<String> b1) {
this.b1 = b1;
}
public ArrayList<String> getString() {
b1.addAll(a1);
return b1;
}
}
和带有代码的三等班
import java.util.ArrayList;
public class C {
public static void main(String[] args) {
ArrayList<String> j1 = new ArrayList<String>();
A a1 = new A(j1);
B b1 = new B();
System.out.println(a1.getString());
System.out.println(b1.getString());
}
}
如何将数组列表从A类传递到B类?
答案 0 :(得分:0)
如果我对您的理解正确,那么您希望b1.getString()
接收a1
的数组。
首先:您应该在代码中真正更改方法和变量的名称,以减少误导,就像Amaud在您的评论中所建议的那样。
第二:您需要方法的进入方式才能将其传递给其他人。
请参阅下面的更改(我保留名称,使其与您的代码相似,但我坚持要更改它们):
A类 (保持不变,仅出于完成目的而包括在内)
public class A {
ArrayList<String> a1;
public A (ArrayList<String> a1) {
this.a1 = a1;
a1.add("Winter");
a1.add("Spring");
a1.add("Summer");
}
public ArrayList<String> getString() {
return a1;
}
}
B类 在getString中添加了参数
public class B {
ArrayList<String> b1;
public void A (ArrayList<String> b1) {
this.b1 = b1;
}
public ArrayList<String> getString(ArrayList<String> a1) {
b1.addAll(a1);
return b1;
}
}
C类
public class C {
public static void main(String[] args) {
ArrayList<String> j1 = new ArrayList<String>();
A a1 = new A(j1);
B b1 = new B();
System.out.println(a1.getString());
System.out.println(b1.getString(a1.getString()));
}
}
还可以选择仅在最后一行传递j1
而不是a1.getString()
,因为在此示例中它们是相同的。看起来像:
System.out.println(b1.getString(j1));