Ответ 1
В первом примере вы создаете экземпляр ArrayList
. В последнем случае вы создаете экземпляр анонимного подкласса ArrayList
. Обычно вы переопределяете один или несколько методов в подклассе , иначе нет смысла создавать такие. Как указывает Джон Скит, есть одна хакерская причина для создания анонимного подкласса родового типа, см. его ответ.
Eclipse предупреждает, что для соответствия спецификациям Serializable
(ArrayList
is Serializable
, поэтому все его подклассы тоже), вы должны определить уникальный serialVersionUID
в подклассе, из которого десериализация процесс может гарантировать, что определение класса не претерпело существенных изменений, поскольку оно было сериализовано (значительно), вы сами решили, что новое определение несовместимо со старым, поэтому вы можете выразить этот факт, изменив serialVersionUID
). Если вы никогда не собираетесь сериализовать список, тогда предупреждение не имеет значения.