我把一个Rectangle2D类型的对象添加到一个Arraylist里面,然后我修改了这个Rectangle2D对象,但是ArrayList里面保存的还是修改前的数据,如果Rectangle2D是引用类型的,那么保存在Arraylist里面的值不是也应该跟着修改吗?

解决方案 »

  1.   

    我使用setFrame重新设置这个Rectangle2D,在arraylist里面的值会跟着修改。
    但是我新建一个Rectangle2D对象,赋给刚才的Rectangle2D对象,保存在arraylist里面的值不会修改。
    请问这样是正常的吗?
      

  2.   


    具体代码如何?最好把关键语句贴出来. 如果我没理解错,你现在的对象只是为新建的对象,与原来的arraylist内的对象已经不是同一个对象,这时你修改了新的对象的属性,arraylist内的当然不会改变.