2011-01-14 49 views
2

朋友,如何在android中通过引用传递对象来更改orignal对象?

我有代码

DalCategories selected_object= new DalCategories(); 
      for (DalCategories cat : DalCategories.EditPostCategory) 
      {  
       if(cat.getCategory_Id().equals(root_id)) 
       { 
        selected_object = cat; 

        // add to list 

        if(selected_object.getSub_Category() != null) 
        { 
         for (DalCategories t : selected_object.getSub_Category()) 
         { 
          if(t.getSub_Category() != null) 
          { 
           // MakeChangesInThisObject(t.getSub_Category()); 
           adapter.addSection(t.getTitle(), new EfficientAdapter(this,t.getSub_Category(),selected_object.getSub_Category().get(0).getSub_Category())); 
          } 
         } 
        } 
        // add to list 




        break; 
       } 
      } 

DalCategories.EditPostCategory有三个层次我想改变第三级对象的值,并希望这种改变应参照使用MakeChangesInThisObject

需做DalCategories.EditPostCategory

任何一个人指导我如何实现这一目标?

回答

9

在你学习Android之前学习一下java。所有对象都通过引用传递。如果每次通过引用都会克隆/复制整个事物,尤其是当它不是必需的时候,因为这个类是不可变的,那就太疯狂了。

想想如果你创建了一个500000字节的字节数组会发生什么。如果每次调用某个方法时将其作为参数进行复制,那么您的cpu将被浪费很多次复制此数组而无需执行任何操作。