Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Ooops, lenge siden jeg brukte java-constructors...

...

Code Block
languagejava
Person grandmother = new Person()
Collection<Person> grandchildren = new ArrayList<Person>();
// Person.getChildren() returns the children as a Collection 
for (Person child : grandmother.getChildren()) {
	// Collection.addAll takes another Collection as its only argument
	grandchildren.addAll(child.getChildren());
}

...

Code Block
languagejava
Person hallvard = Person("H")p1, anne = Person("A")p2, jens = Person("J")p3
// Person.addChild adds a single child
hallvard.addChild(anne);
hallvard.addChild(jens);
Code Block
languagejava
Person hallvard = Person("H")p1, anne = Person("A")p2, jens = Person("J")p3
// 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")p1, anne = Person("A")p2, jens = Person("J")p3
// Person.addChildren adds alle its arguments
hallvard.addChildren(anne, jens);
Code Block
languagejava
titleAlternativ bruk av metode med varargs-parameter
Person hallvard = Person("H")p1, anne = Person("A")p2, jens = Person("J")p3
Person[] anneOgJens = {anne, jens}
hallvard.addChildren(anneOgJens);

...

Code Block
Person hallvard = new Person("H"), anne = new Person("A"), jens = new 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