Toon posts:

var parameters in java

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hoe schrijf ik een functie in java met var parameters?
Vergelijbaar aan de var in delphi, of de * in C++?


dus bv:

void test(int i, int j, int k)
{
i = 1;
j = 2;
k = 3;
}

void main()
{
int a = 0;
int b = 0;
int c = 0;

test(a,b,c);

//Nu zijn de waardes alsvolgt:
//a = 1
//b = 2
//c = 3

...
}

(Syntax is niet al te best, gaat even om het idee van de "var parameters"...)

Verwijderd

Topicstarter
Anyone?

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Stel je vraag nog es, maar dan duidelijk :?

[edit]
Ow en laat dat geschop achterwege als je zou willen (ook als je het niet wil trouwens).

Verwijderd

Topicstarter
|:(

Het idee is toch vrij simpel?

Hoe maak je var parameters in een java functie?

In het bovengenoemde voorbeeld roep ik vanuit de ene functie(main) een andere functie(test) aan.

De test functie verandert de meegegeven variabelen.

Omdat ze als var parameter zijn meegegeven, veranderen ze ook in de main functie van waarde.

Tenminste dat is het doel! Ik wil graag weten of het inderdaad mogelijk is om zo'n type functie(dus met var parameters) te maken...

Verwijderd

kan aan mij liggen, maar volgens mij is het precies zo als je zegt:

public void dingus(int i) {

}

krijgt i mee als variabele, en wordt aangeroepen met b.v:
dingus(1);

Tenminste als dit de vraag was...

ow nee dus, dan zal je iets moeten maken als:

public int dingus(int i) {
i = ....
return i;
}

en aanroepen met: i = dingus(i);
Op dinsdag 12 maart 2002 11:40 schreef pottieman het volgende:
Hoe schrijf ik een functie in java met var parameters?
Vergelijbaar aan de var in delphi, of de * in C++?


dus bv:

void test(int i, int j, int k)
{
i = 1;
j = 2;
k = 3;
}

void main()
{
int a = 0;
int b = 0;
int c = 0;

test(a,b,c);

//Nu zijn de waardes alsvolgt:
//a = 1
//b = 2
//c = 3

...
}

(Syntax is niet al te best, gaat even om het idee van de "var parameters"...)

  • Jelmer
  • Registratie: Maart 2000
  • Laatst online: 17:11
Objecten worden altijd als reference doorgeven, primitieven niet. Hiervoor is in java ook geen enkele mogeljkheid naar mijn weten, behalve de wrapper class gebruiken van de des betreffende primitieve.

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

In pascal heb je call by reference en call bij value. Bij java is dit niet aanwezig. Als je een object een java meegeeft, dan geef je het adres mee dwz het echte object.

Als ik dus zeg:

public void plakCErachter(StringBuffer s){
s.append('c');
}

en ik roep aan met:
StringBuffer buffer = new StringBuffer("ab");
plakCErachter(buffer);

dan is het antwoord:
"abc"

In pascal kan je een string als ie eenmaal is gemaakt wel veranderen. In java kan dit niet.


antwoord op jouw vraag:
met java is het met primitieve types en immutable objecten niet mogelijk.

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Op dinsdag 12 maart 2002 12:37 schreef Jelmer Barhorst het volgende:
Objecten worden altijd als reference doorgeven, primitieven niet. Hiervoor is in java ook geen enkele mogeljkheid naar mijn weten, behalve de wrapper class gebruiken van de des betreffende primitieve.
Wrappers van primitieve types zijn geloof ik immutable.. dus daar wil het ook niet mee.
Pagina: 1