如何在android中通过引用传递对象来在orignal对象中进行更改?

时间:2011-01-14 11:29:57

标签: java android

朋友,

我有代码

 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

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

1 个答案:

答案 0 :(得分:9)

在你尝试学习Android之前学习一点java。所有对象都通过引用传递。如果你每次传递一个引用都会克隆/复制整个东西,特别是在没有必要的情况下因为类是不可变的时候会很疯狂。

想想如果你创建了一个500000字节的字节数组会发生什么。如果每次使用它作为参数调用方法时都会复制它,那么你的cpu将被浪费多次复制这个数组,而不会真正做任何事情。