java - 如何在Java中为不同的对象创建单独的列表?

标签 java oop

我想要实现的目标 - 拥有一个由所有对象共享的列表,即为从类创建的每个对象都有一个唯一的列表,类似于下面的代码,显然会导致错误,因为 ArrayList 需要是静态的。

public class Foo{
   public ArrayList<String> chain = new ArrayList<>();
   public addElement(String input){
        this.chain.add(input);
   }
}
public printList(){
  for(String s : this.chain){
     System.out.println(s);
  }
}
public static void main(){
  Foo x = new Foo();
  Foo y = new Foo();

  x.addElement("abc");
  x.addElement("pqr"); 

  y.addElement("lmn");
  y.addElement("rty");

  x.printList(); //print abc pqr
  y.printList(); //print lmn rty
}

有没有办法实现上述输出?

最佳答案

你的括号到处都是,你错过了函数返回类型,并且它们的名称和调用不匹配,而且你的 main 不遵循正常模式。换句话说,它需要一些帮助。

public class Foo
{
public ArrayList<String> chain = new ArrayList<>();


public void addElement( String input )
{
    this.chain.add( input );
}


public void printList()
{
    for( String s : this.chain )
    {
        System.out.println( s );
    }
}


public static void main(String args[])
{
    Foo x = new Foo();
    Foo y = new Foo();

    x.addElement( "abc" );
    x.addElement( "pqr" );

    y.addElement( "lmn" );
    y.addElement( "rty" );

    x.printList(); //print abc pqr
    y.printList(); //print lmn rty
}
}

根据我对你想要的东西的理解,这应该可行。您可能想在构造函数中初始化 ArrayList - 但这是您的选择。

关于java - 如何在Java中为不同的对象创建单独的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51704287/

相关文章:

java - 解析 Freemarker 中的 JSON 错误

java - 如何增加intellij idea 2017.1.3中的堆大小?

java - libavcodec.so : has text relocations

java - JVM 中这些时序问题的原因是什么?

java - 从 HttpResponse 获取 json

java - 来自 Action 处理程序的 "Cannot refer to a non-final variable"?

c++ - OOP C++、虚函数和新运算符

c++ - 对象应该在 C++ 中删除自己吗?

php - 使用 PHP 维护不同页面的对象状态

oop - 策略设计模式的确切定义是什么?