1252251361
有两个类A类里面有一个public List<String> B类调用A类的函数来往List里添加内容
到了B类再调用A类的List 是空的
求dalao解决


3TUSK
贴完整代码,仅凭楼主现在的描述完全不觉得哪里有问题。

吕易天
能给具体代码吗

1252251361
3TUSK 发表于 2019-10-1 12:32
贴完整代码,仅凭楼主现在的描述完全不觉得哪里有问题。

A类:
public List<String> list = new ArrayList<>();
public void add(String a){
list.add(a);
}
B类:
private Aclass ac = new Aclass():
public List<String> list = ac.list;
public void addA(){
ac.add("hello");
}
public int getSize(){
return ac.list.size();
}
大概就是这样子

1252251361

A类:
public List<String> list = new ArrayList<>();
public void add(String a){
list.add(a);
}
B类:
private Aclass ac = new Aclass():
public List<String> list = ac.list;
public void addA(){
ac.add("hello");
}
public int getSize(){
return ac.list.size();
}
大概就是这样子

3TUSK
1252251361 发表于 2019-10-1 14:03
A类:
public List list = new ArrayList();
public void add(String a){
  1. public final class A {
  2.   public java.util.List<String> list = new java.util.ArrayList<>();
  3.   public void add(String a) {
  4.     this.list.add(a);
  5.   }
  6. }

  7. public final class B {
  8.   private A ac = new A();
  9.   public void addA() {
  10.     this.ac.add("hello");
  11.   }
  12.   public int getSize() {
  13.     return this.ac.list.size();
  14.   }
  15. }

  16. public final class Main {
  17.   public static void main(String... args) {
  18.     final B b = new B();
  19.     b.addA();
  20.     System.out.println(b.getSize());
  21.   }
  22. }
复制代码


试着跑了一遍,输出是 1。看不出问题在哪……

第一页 上一页 下一页 最后一页