Kanggo mbandhingake String kanggo kesetaraan, sampeyan kudu nggunakake obyek String equals
utawa equalsIgnoreCase
cara. Kita uga bakal ngerti sebabe ora nggunakake ==
operator kanggo mbandhingake senar.
Yen kita kudu mbandhingake rong senar ing jawa lan uga peduli karo casing saka senar, kita bisa nggunakake equals()
cara
Contone, cuplikan ing ngisor iki bakal nemtokake manawa rong conto String padha karo kabeh karakter kalebu casing:
public class CompareTwoStrings {
public static void main(String[] args) {
String firstString = 'Test123';
String secondString = 'Test' + 123;
String thirdString = 'TEST123';
if (firstString.equals(secondString)) {
System.out.println('first and second strings are equal');
}
if (firstString.equals(thirdString)) {
System.out.println('first and third string are equal');
}
} }
Output:
first and second strings are equal
Cathetan:Pratelan cetak nomer loro ora bisa ditindakake amarga casing firstString lan thirdString ora cocog.Yen kita kudu mbandhingake rong senar ing jawa nanging ora preduli babagan casing senar kasebut, kita bisa nggunakake equalsIgnoreCase()
cara
Contone, ing cuplikan kode ing ndhuwur, yen diganti .equals()
karo .equalsIgnoreCase()
cara, banjur loro-lorone pratelan dicithak:
public class CompareTwoStrings {
public static void main(String[] args) {
String firstString = 'Test123';
String secondString = 'Test' + 123;
String thirdString = 'TEST123';
if (firstString.equalsIgnoreCase(secondString)) {
System.out.println('first and second strings are equal');
}
if (firstString.equalsIgnoreCase(thirdString)) {
System.out.println('first and third string are equal');
}
} }
Output:
first and second strings are equal
first and third string are equal
Gegandhengan:
Operator kasebut bener-bener nyoba referensi, lan amarga sawetara obyek String bisa makili String sing padha, bisa menehi wangsulan sing salah.
Nanging, gunakake String.equals(Object)
cara, sing bakal mbandhingake obyek String adhedhasar regane.
public class CompareTwoStrings {
public static void main(String[] args) {
String firstString = 'Test123';
String secondString = 'Test123';
String thirdString = new String('Test123');
if (firstString == secondString) {
System.out.println('first and second strings are equal');
}
if (firstString == thirdString) {
System.out.println('first and third strings are equal');
}
} }
Output:
first and second strings are equal
Cathetan:Pratelan cetakan nomer loro ora bisa dileksanakake.Nalika mbandhingake String karo nilai sing tetep, sampeyan bisa nyelehake nilai tetep ing sisih kiwa sing padha kanggo mesthekake yen ora entuk NullPointerException
yen String liyane ora ana gunane.
Contone:
'baz'.equals(foo)
Nalika foo.equals('baz')
bakal mbuwang NullPointerException
yen foo batal, 'baz'.equals(foo)
bakal evaluasi menyang false
.
Alternatif sing luwih bisa diwaca yaiku nggunakake Objects.equals()
, sing ora bakal mriksa kabeh parameter:
tuladhane Objects.equals(foo, 'baz')
.
Minangka Java 1.7, bisa mbandhingake variabel String karo literal ing pratelan switch. Priksa manawa String ora batal, yen ora bakal terus mbuwang NullPointerException
. Nilai dibandhingake nggunakake String.equals
, yaiku kasus sensitif.
public class CompareTwoStrings {
public static void main(String[] args) {
String stringToSwitch = 'A';
switch (stringToSwitch) {
case 'a':
System.out.println('a');
break;
case 'A':
System.out.println('A'); //the code goes here
break;
case 'B':
System.out.println('B');
break;
default:
break;
}
} }
Ing kiriman iki, kita nerangake cara mbandhingake senar ing jawa karo conto kode. Nalika nggawe tali senar, kita kudu nggunakake .equals()
lan nalika casing ora penting, mula kita kudu nggunakake .equalsIgnoreCase()
.
Kajaba iku, kita aja nggunakake ==
operator kanggo mbandhingake senar, minangka ==
operator mriksa referensi lan dudu regane.