Исключение NullPointerException может быть вызвано несколькими причинами. В данном примере cur1 и cur2 не являются нулевыми, но нет гарантии, что cur1.item, cur1.item.accountId (и аналогично для cur2) не равны null.
Поскольку у вас нет описания базовой реализации, я не могу помочь в дальнейшем.
Я могу предложить вам сделать несколько вещей:
1.) проверьте реализацию ваших объектов (если это происходит КАЖДЫЙ раз, может быть какая-то проблема инициализации.
2.) Каждый раз, когда вы создаете экземпляр вашего элемента, вы обязательно указываете поле accountId? Попробуйте указать значение по умолчанию для этого поля, чтобы оно не могло быть нулевым. (попробуйте какое-нибудь недопустимое значение [например, -1, false и т. д.] и проверьте его.
Если вы опубликуете больше подробностей реализации, я (или кто-то другой), возможно, смогу напрямую определить проблему.
Привет.
Редактирование: 4/20 @ 17: 11
Вот пример того, что вы должны делать.
public class Customer {
private int accountId;
public Customer() {
this.accountId = 0;
}
public Customer(int account_identification) {
this.accountId = account_identification);
}
//As a side note, general practice implies fields be private
//Use a method (hence the term 'getter' and the reciprocal, 'setter')
public int getId() {
return this.accountId;
}
public void setId(int replacement_account_identification) {
this.accountId = replacement_account_identification;
}
}