Witam. Mam pewne pytanie. Jak wiadomo w Javie parametry metod przekazywane są przez wartość i np. jeśli przekazujemy typ prosty np int do metody to operujemy na jego kopii i metoda:
int x;
metoda(int a) {
a++;
}
metoda(x);
nie zmieni zmiennej x. Jednak gdybyśmy przekazywali do metody typ obiektowy, to w zmiennej przechowywany jest jej adres i wtedy operujemy na kopii adresu co w konsekwencji prowadzi do zmiany przekazywanego obiektu.
Tutaj moje pytanie. Czemu jeśli przekazujemy typy obiektowe jak np. Integer to wartość przekazywana nie jest modyfikowana?
Czy zmienna typu Integer nie przechowuje tak jak inne definiowane przez nas typy obiektowe adresu? Czemu takie typy jak Integer, Double itp traktowane są jak prymitywne?