Java-如何在array-list中临时存储数据

时间:2014-06-10 11:11:12

标签: java

我希望将arrlist值缓存到一个类中,我可以定义一个空的arrlist并从方法中添加值,然后最终尝试获取全局定义的arralist值....

class Test{ 

    ArrayList list=new ArrayList();


    public void addValues(){

        list.add("One");
        list.add("Two");
        list.add("Three");
        list.add("Four");
        list.add("Five"); 
        getArrlstValues();
    }

    public void getArrlstValues(){

        System.out.println("size of cache arralist=" +list.size());
        //why this is showing zero size
    }

     public static void main(String args[]) {
     Test obj=new Test();
     obj.addValues();
 }
}

2 个答案:

答案 0 :(得分:3)

在您的代码中,您向this.list添加值,并在 this!= obj 时检查obj.getArrlstValues()

所以你永远不会更新你看到的同一个列表!

您可以使用this.getArrlstValues()(或仅getArrlstValues())并删除此行:

Test obj=new Test()

答案 1 :(得分:0)

ArrayList list=new ArrayList();
    Test obj=new Test()

    public void addValues(){

        list.add("One");     // working on "this" i.e, the current object
        list.add("Two");     // still  working on this
        list.add("Three");
        list.add("Four");
        list.add("Five");
        obj.getArrlstValues();  // calling getArrlstValues() on a different object. Just use getArrlstValues();
    }

    public void getArrlstValues(){

        System.out.println("size of cache arralist=" +list.size()); 
        //why this is showing zero size --> because for the calling Object i.e, obj, the list is empty
    }