Løsningsforslag - oppgaver i Avsnitt 1.4.12


Oppgave 1

  public boolean equals(Object o)      // ny versjon av equals
  {
    if (o == null) return false;
    if (getClass() != o.getClass()) return false;
    final Person p = (Person)o;
    return etternavn.equals(p.etternavn) && fornavn.equals(p.fornavn);
  }

Oppgave 2

Det blir først false og så true.

Oppgave 3

  List<Person> l = new ArrayList<>();         // oppretter en liste
  Person p = new Person("Anne","Olsen");      // oppretter Anne Olsen
  l.add(p);                                   // Anne Olsen legges inn i listen
  System.out.println(l);                      // Utskrift: [Anne Olsen]

  boolean søk = l.contains(p);                // søker
  System.out.println(søk);                    // Utskrift:  true

Oppgave 5

   Person p = new Person("Anne", "Olsen");
   String s = "Anne", t = "Olsen", u = "Anne Olsen";
   String v = "Anne" + " " + "Olsen";
   String[] navn = {"Anne", "Olsen"};

   System.out.println(p.etternavn() == navn[1]);  // true
   System.out.println(p.fornavn() == navn[0]);    // true
   System.out.println(u == v);                    // true
   System.out.println(s == navn[0]);              // true
   System.out.println(t == navn[1]);              // true

Oppgave 6

equals() i klassen Object:

  public boolean equals(Object obj)
  {
    return (this == obj);
  }