Switch bayonotidagi satrlarni solishtirish
Versiya ≥ Java SE 7
String . teng
Java 1.7 dan boshlab, switch bayonotida String o'zgaruvchisini harflar bilan solishtirish mumkin. String null emasligiga ishonch hosil qiling, aks holda u har doim NullPointerException ni chiqaradi. Qiymatlar yordamida solishtiriladi, ya'ni katta-kichik harf sezgir.
Live demo
Stringlarni doimiy qiymatlar bilan solishtirish
Stringni doimiy qiymat bilan solishtirganda, agar boshqa String null bo'lsa, NullPointerException ni olmaslik uchun tenglikning chap tomoniga doimiy qiymatni qo'yishingiz mumkin.
foo.equals ("baz") agar foo null bo'lsa, "baz" NullPointerExceptionni chiqaradi. teng (foo
while ) noto'g'ri deb baholanadi.
Versiya ≥ Java SE 7
Ob'ektlar.teng
Ko'proq o'qilishi mumkin bo'lgan muqobil - ikkala parametr bo'yicha null tekshiruvini amalga oshiradigan () dan foydalanish:
Objects.equals (foo, "baz"
).
(Eslatma: Umuman olganda, NullPointerExceptions dan qochish yaxshiroqmi yoki ular sodir bo'lishiga yo'l qo'yib, keyin asosiy sababni tuzatish kerakmi, bu bahs-munozaralarga sabab bo'ladi; bu erda va bu erda qarang. Albatta, qochish strategiyasini "eng yaxshi amaliyot" deb atash oqlanmaydi.) String buyurtmalar
< String > bilan string bilan solishtirish mumkin. solishtiring
String klassi usulni amalga oshiradi (boshida tavsiflanganidek
Comparator < String
bu misol). Bu String ob'ektlarining tabiiy tartibini katta-kichik harflarga sezgir tartibga soladi. String sinfi CASE_INSENSITIVE_ORDER deb nomlangan > konstantasini katta-kichik harflarga sezgir bo'lmagan tartiblash uchun mos beradi.
Interned Strings bilan solishtirish
Java tili spetsifikatsiyasi (JLS 3.10.6) quyidagilarni bildiradi:
String . stajyor
"Bundan tashqari, string literal har doim String sinfining bir xil namunasiga ishora qiladi. Buning sababi, string literallari
Do'stlaringiz bilan baham: |