Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Forvirrende bruk av ... i metodekall-eksemplet, i forhold til Person... children

...

Code Block
languagejava
Person hallvard = ...Person("H"), anne = ...Person("A"), jens = ...Person("J")
// Person.addChild adds a single child
hallvard.addChild(anne);
hallvard.addChild(jens);
Code Block
languagejava
Person hallvard = ...Person("H"), anne = ...Person("A"), jens = ...Person("J")
// Person.addChildren takes a Collection-argument and adds them all
Collection<Person> anneOgJens = new ArrayList<Person>();
anneOgJens.add(anne);
anneOgJens.add(jens);
hallvard.addChildren(anneOgJens);

...

Code Block
languagejava
titleMetode med varargs-parameter
public void addChildren(Person... children) {
	for (int i = 0; i < children.length; i++) {
		this.addChild(children[i]);
	}
}
Code Block
languagejava
titleBruk av metode med varargs-parameter
Person hallvard = ...Person("H"), anne = ...Person("A"), jens = ...Person("J")
// Person.addChildren adds alle its arguments
hallvard.addChildren(anne, jens);
Code Block
languagejava
titleAlternativ bruk av metode med varargs-parameter
Person hallvard = ...Person("H"), anne = ...Person("A"), jens = ...Person("J")
Person[] anneOgJens = {anne, jens}
hallvard.addChildren(anneOgJens);

...

Code Block
Person hallvard = ...Person("H"), anne = ...Person("A"), jens = ...Person("J")
// Person.addChildren takes a Collection-argument and adds them all
hallvard.addChildren(Arrays.asList(anne, jens)); // utlize that Arrays.asList is a varargs-method