Java-dagi strings haqida eng ko'p beriladigan 10 ta savol bu erda keltirilgan
-
Stringlarni qanday solishtirish mumkin? Nimadan foydalanish kerak: "
==
" yokiequals()
?Qisqasi, "
==
" satrlarga havolalarni solishtiradi, lekinequals()
bu satrlardagi qiymatlarni solishtiradi. Agar ikkita satr bir xil ob'ekt ekanligini tekshirishni xohlamasangiz, dan foydalaningequals()
.Shuningdek , string hovuz tushunchasini bilish ham yaxshi fikr bo'lardi .
-
Nega nozik ma'lumotlarni himoya qilish uchun
char[]
satrlar (String
) afzalroq?Satrlar o'zgarmasdir . Bu shuni anglatadiki, satr yaratilgandan so'ng, axlat yig'uvchi ishga tushmaguncha u o'zgartirilmaydi. Massiv holatida biz uning elementlarini o'zgartirishimiz mumkinligi aniq. Shunday qilib, maxfiy ma'lumotlar (masalan, parol) dasturning biron bir joyida aniq matnda saqlanmaydi.
-
Switch iborasidan foydalanganda satrlarni parametr sifatida o'tkaza olamizmi ?
Ha, JDK ning 7-versiyasidan boshlab. Ilgari, 6-versiyada bu mumkin emas edi.
// java 7 only! switch (str.toLowerCase()) { case "a": value = 1; break; case "b": value = 2; break; }
-
Qatorni butun songa qanday aylantirish mumkin?
int n = Integer.parseInt("10");
Xuddi shu narsa Java-ning boshqa ibtidoiy turlari uchun ham amal qiladi.
-
Satrni bo'shliq bilan ajratilgan chiziqlarga qanday ajratish mumkin?
Eng oson yo'li - oddiy iboralardan foydalanish. " " " ", " ", " ", " "
\s
kabi boʻshliq belgilarining oʻrnini bosuvchi vazifasini bajaradi .\t
\r
\n
String[] strArray = aString.split("\\s+");
-
< Usul aslida nima qiladi
substring()
?JDK 6 da usul
substring()
mavjud satrdagi belgilarning bir qismini ko'rsatdi, lekin qatorning alohida nusxasini yaratmadi. Belgilar massivi sifatida taqdim etilgan yangi satr yaratish uchun siz bo'sh qatorni qo'shishingiz mumkin, masalan:str.substring(m, n) + ""
Natijada, bizning yangi qatorimiz bo'lgan belgilar qatori. Ushbu yondashuv ba'zan kodni bajarish vaqtini qisqartirishi mumkin, chunki axlat yig'uvchi foydalanilmagan katta satrlarni yo'q qilishi va faqat pastki qatorlarni saqlashi mumkin.
Oracle JDK 7 da usul
substring()
mavjud bo'lganidan foydalanmasdan yangi belgilar qatorini yaratadi. JDK 6 va JDK 7 da substring() usullari o'rtasidagi farqni ifodalovchi diagrammani ham ko'rib chiqishingiz mumkin . -
String va StringBuilder va StringBuffer
String
vsStringBuilder
:StringBuilder
o'zgaruvchan, ya'ni ob'ekt yaratilgandan keyin uning mazmunini o'zgartirishimiz mumkin.StringBuilder
vsStringBuffer
:StringBuffer
sinxronlangan, ya'ni u bir vaqtning o'zida bir nechta iplardan foydalanilganda to'g'ri ishlaydi, lekin dan sekinroqStringBuilder
. -
Bir qatorni bir necha marta qanday takrorlash kerak?
Pythonda biz satrni shunchaki raqamga ko'paytirishimiz mumkin
n
va keyin u n marta takrorlanadi.repeat()
Java-da biz Apache Commons Lang kutubxonasi sinfidagi usuldan foydalanishimiz mumkinStringUtils
.String str = "abcd"; String repeated = StringUtils.repeat(str,3); //abcdabcdabcd
-
Satrni sanaga qanday aylantirish mumkin?
String str = "Sep 17, 2013"; Date date = new SimpleDateFormat("MMMM d, yy", Locale.ENGLISH).parse(str); System.out.println(date); //Tue Sep 17 00:00:00 EDT 2013
-
Satrda ma'lum bir belgining takrorlanish sonini qanday hisoblash mumkin?
StringUtils
Apache Commons Lang kutubxonasidan sinfdan foydalaning .int n = StringUtils.countMatches("11112222", "1"); System.out.println(n);
GO TO FULL VERSION