bild
Skolan för
elektroteknik
och datavetenskap

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.
Copyright © Sidansvarig: Ann Bengtsson <ann@nada.kth.se>
Uppdaterad 2014-04-13