Avatar billede cyrez Nybegynder
10. december 2002 - 23:19 Der er 1 kommentar og
2 løsninger

equals

Har lige et lille problem. Jeg har óprettet en variabel kunde k i linje 2(kode nederst) og skal senere se om der lagt nogle data ind i den. Det er ikke sikkers at der bliver lagt data ind i k. Jeg har sagt k.equals() men jeg kan ikke få det til at virke lige godt hvordan jeg bruger equals. Jeg for hele tiden NullPointerException og det er jeg ved at være godt træt af.

Koden jeg har sat ind er en meget kort version af den orginale.

Håber der er nogle der kan hjælpe



public class Hovedmenu
kunde k;

if (k.equals())
{
  System.out.println("noget")
}
else {
    System.out.println("noget andet")
}
Avatar billede roarsj Nybegynder
10. december 2002 - 23:49 #1
equals-metoden skal have et argument af typen Object.
Som regel er det relevat at tjekke om det er et Objekt af den rigtige type der kommer ind i metoden - det er sjældent at man kan sige at objekter af forskellig type er lig hinanden. Den skal returner sandt eller falsk. husk at java.lang.Object har en implementation af equals. Den standard implentationer implementeret i denne stil:

publiv boolean equals (Object o) {
        return this == o;
}

Denne laver blot et simplet tjek på om det er det samme objektet selv der sammenlignes med, men det sikrer at alle objketer har en equalsmetode.


Et typisk eksempel kan være med java.lang.String:

String s = "Her er en string";

s.equals ("Her er en anden string");

Man kan også lave eksemplet således:


linien hvor equals kaldes vil evaluere til falsk, da strengen ikke er ens.
Avatar billede arne_v Ekspert
11. december 2002 - 07:53 #2
Du har ikke oprettet en variabel k med:

kunde k;

du skal bruge:

kunde k = new kunde();

eller:

kunde k = en-eller-andefunktion-som-returnerer-en-kunde();
Avatar billede arne_v Ekspert
11. december 2002 - 07:54 #3
Jeg formoder, at du har et eller andet argument til equals ellers
får du nemlig en compile fejl og ike en nullpointer exception.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester