Я всегда думал, что это хорошо работает в обоих направлениях. Затем выполнил этот тест и понял, что это не разрешено при повторном назначении:
int[] a = {0, 2, 4, 6, 8};
работает нормально, но не:
int [ ] a;
a = { 0, 2, 4, 6, 8 };
Какие-либо технические причины для этого? Я подумал, что спрошу об этом здесь, потому что такого поведения я ожидал интуитивно.