Et foredragsuddrag med en mentor som en del af Codegym University-kurset. Tilmeld dig hele kurset.


"Jeg vil gerne fortælle dig lidt om sammenligning af variabler i Java. "

"Du kender allerede de enkleste sammenligningsoperatorer – mindre end (<) og større end (>)."

"Ja."

"Der er også operatorer som lig med (==) og ikke lig med (!=). Samt mindre end eller lig med (<=) og større end eller lig med (>=)."

"Nu bliver det her interessant."

"Bemærk, at der ikke er nogen =< eller => operatorer i Java!"

" =-tegnet bruges til tildelingsoperationer. Det er derfor, to lighedstegn (==) bruges til at teste lighed. For at kontrollere, at variabler ikke er ens , skal du bruge operatoren != ."

"Jeg ser."

"Når vi sammenligner to variable i Java ved hjælp af ==-operatoren, sammenligner vi indholdet af variablerne."

"For primitive variabler sammenlignes deres værdier således ."

"For referencevariable sammenlignes referencerne . Antag, at vi har identiske, men distinkte objekter. Fordi referencer til dem er forskellige , vil en sammenligning vise, at de ikke er ens, dvs. sammenligningsresultatet vil være falsk . En sammenligning af referencer vil være sandt. kun hvis begge referencer peger på det samme objekt. "

"For at sammenligne objekters interne indhold bruger vi den specielle lig metode. Denne metode (og alle metoder i klassen Object) tilføjes til din klasse af compileren, selvom du ikke erklærer dem. Lad mig vise dig nogle eksempler: "

Kode Forklaring
1
int a = 5;
int b = 5;
System.out.println(a == b);
Sammenlign primitive typer.
true vil blive vist på skærmen.
2
Cat cat1 = new Cat("Oscar");
Cat cat2 = cat1;
System.out.println(cat1 == cat2);
Sammenlign referencer .
true vil blive vist på skærmen.
Begge variabler gemmer referencer til det samme objekt .
3
String s = new String("Mom");
String s2 = s;
System.out.println(s == s2);
Sammenlign referencer .
true vil blive vist på skærmen.
Begge variabler gemmer referencer til det samme objekt .
4
Cat cat1 = new Cat("Oscar");
Cat cat2 = new Cat("Oscar");
System.out.println(cat1 == cat2);
Sammenlign referencer .
falsk vil blive vist på skærmen.
De to variabler refererer til identiske Cat-objekter, men ikke den samme.
5
String s = new String("Mom");
String s2 = new String("Mom");
System.out.println(s == s2);
Sammenlign referencer .
falsk vil blive vist på skærmen.
De to variabler refererer til identiske String-objekter, men ikke den samme.
6
String s = new String("Mom");
String s2 = new String("Mom");
System.out.println(s.equals(s2));
Sammenlign objekter .
true vil blive vist på skærmen.
De to variabler refererer til identiske Cat-objekter

"Åh, det glemte jeg næsten! Her er nogle øvelser til dig:"