Programutvecklingsteknik, från föreläsning 4
Obs! Sidan är en sammanfattning av föreläsningen.
Allt som tas upp på föreläsningen står inte här.
Föreläsningsbilder: F4-bilder
Metoden equals() i Object
Java-objekt kan jämföras obj1.equals(obj2) . Den metod som ärvs från Object
gör jämförelsen obj1==obj2 . Det betyder att endast samma objekt ger true.
equals() kan definieras om som man vill, t.ex. så att objekt med lika innehåll
ger true. Programet EqualsDemo testar likhet mellan objekt av klassen Spelkort
(Spelkort visades på föreläsning 1). Först kördes programmet med gamla definitionen av Spelkort.
Därefter skrevs en equals() i Spelkort och testprogrammet kördes igen.
Här finns Spelkort med equals och testprogrammet
EqualsDemo.java. Prova att kommentera bort equals()
i Spelkort och köra demoprogrammet igen!
Att jämföra textsträngar
För säkert och pålitligt resultat, använd metoden equals() .
s1.equals(s2) ger alltid true om de två texterna är lika.
s1==s2 ger true endast om s1 och s2
refererar till samma textobjekt. Om man ger flera String -variabler
samma värde i ett program kan Java-kompilatorn ibland känna igen detta och låta alla
variablerna referera till samma textobjekt och jämförelsen med == fungerar.
Detta ska inte tolkas som att == jämför hela textsträngarnas innehåll.
Programmet StringTest.java skapar texter på några
olika sätt och visar jämförelse med == respektive equals() .
Kör programmet med java StringTest VINDRUVA .
|