2012-06-29 5 views
0

Я предоставлю свой вопрос, сказав, что я начинающий разработчик Java EE.Какая разница в этом коде (extjs)?

Я написал следующий код. Почему это получает идентификатор?

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

Любое почему не получает ID (ID = null)?

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

Это зависит от того, что делает 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 Идентификатор объекта.

Теперь посмотрим в другой код:

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

Эта линия будет создавать объект для MsItemDTO с некоторыми arguments называется trInboundD.getItemID().getItemID(). Здесь вам нужно написать конструктор для создания объекта с этими аргументами. В противном случае он не создаст никакого объекта и сохранит Item id как null. Таким образом, объект здесь другой. Во-вторых, мы пытаемся установить этот другой объект на другой объект. trInboundDDTO Идентификатор элемента, который будет конфликтом.

Надеется, что это помогает :)

+0

спасибо, Dude! это полезно –

Смежные вопросы