Везде пишут, что java передает примитивы по значению, а обьекты по ссылке.
А так же пишут что массив это обьект передается по ссылке.
Так если должно передаваться по ссылке тогда почему у меня массив передается по значению?
import java.util.Arrays;
public class ssulk
{
public static void main(String[] args)
{
int[][] a = new int[2][2];
a[0][0]=1;
a[0][1]=2;
a[1][0]=3;
a[1][1]=4;
System.out.println("1 "+a[0][0]);
a[0][0]=a[1][1];
System.out.println("2 "+a[0][0]);
put(a[0],a[1]);
System.out.println("3 "+a[0][0]);
}
static void put(int[] a,int[] b)
{
System.out.println("4 "+a[0]);
a=b;
//a=Arrays.copyOf(b, 2);
System.out.println("5 "+a[0]);
}
}
здесь выводит
1 1
2 4
4 4
5 3
3 4
>> передает по значению. так в чем дело?
новый вопрос по ответу:
1)так вроде Arrays.copyof() изменяет значение(!)(?) массива, но выводит то же самое
2)Как сделать так, чтобы отработала как надо?