Массив пуст, пока вы не поместите в него объекты. В вашем коде предполагается, что вы можете назначить c[i].x
немедленно, но, поскольку в c[i]
нет объекта, вы получите NullPointerException
.
Я не знаю, хотите ли вы скопировать объекты в массивах в новые объекты или просто хотите скопировать ссылки , чтобы оба массива указывали на одни и те же объекты. Второй легко:
System.arraycopy(a, 0, c, 0, a.length);
System.arraycopy(b, 0, c, a.length, b.length);
Если это первый, будет гораздо проще использовать Point3f
конструктор копирования:
for (int i=0; i<a.length; ++i)
c[i] = new Point3f(a[i]);
for (int i=0; i<b.length; ++i)
c[i+a.length] = new Point3f(b[i]);