我想要实现的目标 - 拥有一个由所有对象不共享的列表,即为从类创建的每个对象都有一个唯一的列表,类似于下面的代码,显然会导致错误,因为 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/