【问题标题】:Assigning ArrayList object to Instance variable - java将 ArrayList 对象分配给实例变量 - java
【发布时间】:2018-04-05 22:16:48
【问题描述】:

下面的代码 sn-p 是我正在阅读的一些代码的一部分,但我无法理解 copy 变量在 sn-p 中的作用或它的作用。我知道它是 Sample 类的一个实例,但是为什么它被分配一个 ArrayList 我不清楚。

public class Sample implements Var{

   private List lst1;
   private List lst2;

   public Sample() {        
        super();
     }

    public Sample(List lst1) {      
         this();
         this.lst1 = lst1;
     }

    public List getLst1() {
        return lst1;
    }

    public void setLst1(List lst1) {
       this.lst1 = lst1;
    }

    @Override
    public Var copy(){
         Sample copy = new Sample(lst1);    
         copy.lst2 = new ArrayList(lst2);
         return copy;
    }

    @Override
    public void randomize(){

    }
}

【问题讨论】:

  • 这不可能是整个类,因为你使用了一个不存在的构造函数。
  • “顺便说一句,尝试执行诸如循环之类的操作”它既不是数组,也没有实现Iterable,就像消息中所说的那样。你认为你如何遍历两个列表?一个然后另一个?列表中的交替元素?为什么你认为 Java 知道你这么想?你必须告诉它怎么做,根据需要实现Iterable 接口。

标签: java instance


【解决方案1】:

事实上,错误消息明确表明您无法遍历变量copy,因为您尚未实现允许您执行此操作的Iterable 接口。如果您坚持循环它并拥有允许您这样做的功能:只需访问此链接Java Generics - Implementing the Iterable Interface,您可以在其中例如(如果这是您想要的)迭代实例的两个列表的元素@987654324 @和lst2

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-15
    • 2014-06-29
    • 2021-06-18
    • 1970-01-01
    相关资源
    最近更新 更多