Skocz do zawartości

Argument funkcji w Java


Alex

Recommended Posts

Witam, mam mały problem, piszę program w javie i z tego co pamiętam jeszcze z c++ to jak przekazuję funkcji zmienną to wtedy tworzona jest jej kopia i że powinno się przekazywać wskaźnik i wtedy operować na zmiennej a nie na jej kopi. Jednak jak pisze w javie void funkcja(int* x); to intellij zgłasza mi: cannot resolve symbol 'x'

Link do komentarza
Udostępnij na innych stronach

  • 2 weeks later...
  • 1 month later...

FunMan czekaj czekaj... Nie można przekazać referencji? Każdy obiekt dziedziczący po Object w javie jest domyślnie przekazywany przez referencję! Mylisz człowieka!

Sytuacja wygląda tak, wszystko jest teoretycznie przekazywane przez wartość, ale w przypadku obiektów ta wartość to wskaźnik, także w funkcji operujesz już na tym samym obiekcie. Tylko i wyłącznie typy PRYMITYWNE są przekazywane jako wartość.

int jest typem prymitywnym, dlatego jeśli chcesz przekazać inta przez referencję to polecam po prostu użyć typu Integer, który działa tak samo ale jest już obiektem dziedziczącym po Object

Link do komentarza
Udostępnij na innych stronach

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gość
Odpowiedz...

×   Wkleiłeś zawartość bez formatowania.   Usuń formatowanie

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Utwórz nowe...