Мұнда Java тіліндегі жолдар туралы ең көп қойылатын 10 сұрақ берілген
-
Жолдарды қалай салыстыруға болады? Нені пайдалану керек: "
==
" немесеequals()
?Қысқаша айтқанда, "
==
" жолдарға сілтемелерді салыстырады, бірақequals()
сол жолдардағы мәндерді салыстырады. Екі жолдың бірдей нысан екенін тексергіңіз келмесе, пайдалануыңыз керекequals()
.Сондай-ақ жолдық пул ұғымын білу жақсы идея болар еді .
-
Неліктен құпия ақпаратты қорғау үшін
char[]
жолдар (String
) таңдалады?Жолдар өзгермейді . Бұл жол жасалғаннан кейін қоқыс жинағыш іске қосылғанша өзгертілмейтінін білдіреді. Массив жағдайында оның элементтерін өзгерте алатынымыз анық. Осылайша, құпия ақпарат (мысалы, құпия сөз) бағдарламаның кез келген жерінде анық мәтінде сақталмайды.
-
Switch операторын пайдаланған кезде жолдарды параметр ретінде бере аламыз ба ?
Иә, JDK 7 нұсқасынан бастап. Бұрын 6 нұсқада бұл мүмкін емес еді.
// java 7 only! switch (str.toLowerCase()) { case "a": value = 1; break; case "b": value = 2; break; }
-
Жолды бүтін мәнге қалай түрлендіруге болады?
int n = Integer.parseInt("10");
Бұл Java тіліндегі басқа қарабайыр типтерге де қатысты.
-
Жолды кеңістікте бөлінген жолдарға қалай бөлуге болады?
Ең оңай жолы - тұрақты тіркестерді қолдану. " " " ", " ", " ", " "
\s
сияқты бос орын таңбаларын алмастырушы ретінде әрекет етеді .\t
\r
\n
String[] strArray = aString.split("\\s+");
-
< Әдіс шын мәнінде не істейді
substring()
?JDK 6-да әдіс
substring()
бар жолдың таңбаларының бір бөлігін көрсетті, бірақ жолдың жеке данасын жасамады. Таңбалар массиві ретінде ұсынылған жаңа жолды жасау үшін кейбір бос жолды қосуға болады, мысалы, келесідей:str.substring(m, n) + ""
Нәтиже – таңбалар жиымы, ол біздің жаңа жолымыз. Бұл тәсіл кейде codeты орындау уақытын қысқартуы мүмкін, себебі қоқыс жинағыш пайдаланылмаған үлкен жолдарды жоя алады және тек ішкі жолдарды сақтай алады.
Oracle JDK 7 жүйесінде әдіс
substring()
бұрыннан барын пайдаланбай жаңа таңбалар массивін жасайды. Сондай-ақ JDK 6 және JDK 7 ішіндегі substring() әдістері арасындағы айырмашылықты көрсететін диаграмманы қарауға болады . -
String vs StringBuilder және StringBuffer
String
қарсыStringBuilder
:StringBuilder
өзгермелі, бұл нысан жасалғаннан кейін оның мазмұнын өзгертуге болатынын білдіреді.StringBuilder
қарсыStringBuffer
:StringBuffer
синхрондалған, яғни ол бір уақытта бірнеше ағындардан пайдаланылғанда дұрыс жұмыс істейді, бірақ қарағанда баяуырақStringBuilder
. -
Жолды бірнеше рет қалай қайталауға болады?
Python-да біз жолды жай ғана санға көбейте аламыз
n
, содан кейін ол n рет қайталанады.repeat()
Java тілінде біз Apache Commons Lang кітапханасы класындағы әдісті пайдалана аламызStringUtils
.String str = "abcd"; String repeated = StringUtils.repeat(str,3); //abcdabcdabcd
-
Жолды күнге қалай түрлендіруге болады?
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
-
Жолдағы белгілі бір таңбаның қайталану санын қалай санауға болады?
StringUtils
Apache Commons Lang кітапханасынан сыныпты пайдаланыңыз .int n = StringUtils.countMatches("11112222", "1"); System.out.println(n);
GO TO FULL VERSION