2013-05-26 58 views
0

我有一个静态Arraylist并用这些值调用一个适配器。 Java是否在每个范围内重新创建这个变量?相同内存块中的相同静态变量

在FirstActivity.java

static List<Cars> cars; 
    new ContentAdapter(this,cars); 

在ContentAdapter.java

static List<Cars> cars; 

    public ContentAdapter(FragmentActivity c,List<cars> ca) { 
    mContext = c; 
    cars = ca; 
    } 

的java是否重新创建汽车的ArrayList?我该如何避免这种情况?

回答

1

在您提供的代码中,您有一个对象引用ca,该对象将被分配给您的cars变量。这不是重新创建对象,而是通过一个新变量使对象可访问。所以我不认为你需要担心被重新创建的对象。

+0

试图在ContentAdapter中更改汽车ArrayList,但它没有影响FirstActivity?这就是为什么我认为他们没有被引用。我错了吗 ? – dracula

+0

据我所知,该系统不会改变你的对象。我最好的猜测是,如果你的'ContentAdaptor'对你的'List '对象进行了修改,那么它就会改变从'新的ContentAdapter(this,cars)'传递给它的同一个对象。所以也许你在检查原始对象是否已经改变时犯了一个错误。 – Stochastically

相关问题