- 1
- 2
- 3
- 4
- 5
- 6
protected void setPhones(ArrayList<MBPhone> phones) {
    if(phones!=null) 
        this.phones=phones;
    else 
        phones.clear();
}Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+74
protected void setPhones(ArrayList<MBPhone> phones) {
    if(phones!=null) 
        this.phones=phones;
    else 
        phones.clear();
}
            Код из одного западного вэб-сервиса для профессионалов в сфере недвижимости. 
Мораль: не надо игнорировать подсказки IDE.  Автор на самом деле хотел очистить this.phones. И Intelij Idea подсказывает, что в этом месте может быть брошен NullPointerException. Увидеть эту проблему можно было только используя аннотацию @SuppressWarnings. Потому что варнингов так много, что различить среди них опасные очень сложно.
        
А если бы вместе phones был List<Customer>, где Customer является persistence.entity имеющим связи с ещё пол сотней entity? Всё это дерево тоже нужно копировать?
Говноплагиат!