2012-06-29 57 views
0

我會通過說我是初學者的Java EE開發人員來解釋我的問題。這段代碼(extjs)有什麼區別?

我寫了下面的代碼。爲什麼這會得到ID?

MsItemDTO msItemDTO = new MsItemDTO(); 
msItemDTO.setItemID(trInboundD.getItemID().getItemID()); 
trInboundDDTO.setItemID(msItemDTO); 

任何爲什麼不能獲得ID(ID = null)?

trInboundDDTO.setItemID(new MsItemDTO(trInboundD.getItemID().getItemID())); 
+1

它取決於「MsItemDTO」的單參數構造函數的作用。 – trutheality

回答

0
MsItemDTO msItemDTO = new MsItemDTO(); 
msItemDTO.setItemID(trInboundD.getItemID().getItemID()); 
trInboundDDTO.setItemID(msItemDTO); 

我們將通過上面的代碼走在細節:

  1. 第一行,它會創建一個實例或MsItemDTO類的對象和對象的名字是msItemDTO
  2. 第二行,我們將Item Id設置爲我們在第一行創建的對象msItemDTO
  3. 第三行,我們將對象msItemDTO設置爲另一個對象trInboundDDTO項目Id值。

現在我們將看看到其他代碼:

trInboundDDTO.setItemID(new MsItemDTO(trInboundD.getItemID().getItemID())); 

這條線將創建一些arguments稱爲trInboundD.getItemID().getItemID()爲MsItemDTO的對象。在這裏你需要編寫一個構造函數來用這個參數創建對象。否則,它不會創建任何對象,並將項ID保存爲空。所以這裏的對象是不同的。第二個是我們試圖將這個不同的對象設置爲另一個對象trInboundDDTO將會發生衝突的項目Id。

希望這可以幫助你:)

+0

感謝Dude!這很有幫助 –