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