2011-01-14 44 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將被浪費很多次複製此數組而無需執行任何操作。