Wiatam, mam następujący problem: Chciałbym przekazać do metody parametr typu podstawowego, tak aby kod wewnątrz metody zmieniał mój parametr. Wiem, że typy podstawowe nie są obiektami więc są przekazywane przez wartość ale wyczytałem, że można użyć obiektów zastępczych z klas takich jak Integer zamiast int Long zamiast long itd. Napisałem więc króciutki program testowy:
public class tmp
{
public static void main (String[] args)
{
Long a = new Long(123);
tmp t = new tmp();
t.changeA(a);
System.out.print(a);
}
void changeA (Long a)
{
a = (long)345;
}
}
Niestety nie działa tak jakbym chciał. Nie rozumiem czemu 'a' jest przekazywane przez wartość mimo, że jest obiektem klasy Long ?