При инициализации , как у вас там, нет никакой разницы между ними вообще.Они приводят к одному и тому же байт-коду.Обратите внимание, что вы должны использовать первую форму в присваивании , хотя:
int[] b;
b = {1,2,3}; // <== Syntax error
Прав ли я, что первым является объект, а 'a' является ссылкой, а второйявляется типом примитива, а 'b' является переменной?
Нет, в обоих случаях у вас есть переменная (a
, b
), которая является ссылкой на массив.