может кто-нибудь объяснить, что здесь происходит. У меня создалось впечатление, что размер массива не может быть изменен после его создания и объявления.Изменение размера массива после создания
public class ArrayManipulation
{
public static void main(String[] args)
{
int a[] = {1, 2, 3};//new int[3];
int b[] = new int[a.length-1];
System.out.print("a = ");
for (int i = 0; i < a.length; i++)
System.out.print(a[i] + " ");
System.out.println();
for (int i = 0; i < b.length; i++)
b[i] = a[i];
//This is the bit I am confused about.. I was expecting an error here
a = b;
System.out.print("a = ");
for (int i = 0; i < a.length; i++)
System.out.print(a[i] + " ");
System.out.println();
}
}
Да размер не является частью типа/класса. Некоторые языки (например, Pascal, Algol68) предлагают это. Но в java переменная массива - это просто указатель, а значение массива содержит длину поля. –