PMD сообщит о нарушении для:
ArrayList<Object> list = new ArrayList<Object>();
Нарушение было "Избегайте использования таких типов реализации, как" ArrayList ", вместо этого используйте интерфейс".
Следующая строка исправит нарушение:
List<Object> list = new ArrayList<Object>();
Зачем последнему использовать List
вместо ArrayList
?