10 саволҳои аз ҳама бештар пурсидашуда дар бораи сатрҳо дар Java дар ин ҷо зикр шудаанд
-
Чӣ тавр муқоиса кардани сатрҳо? Чӣ бояд истифода шавад: "
==
" ёequals()
?Хулоса, "
==
" истинодҳоро бо сатр муқоиса мекунад, аммоequals()
арзишҳои дар ин сатр мавҷудбударо муқоиса мекунад. Агар шумо нахоҳед тафтиш кунед, ки ду сатр як an object мебошанд, пас шумо бояд -ро истифода баредequals()
.Донистани консепсияи ҳавзи сатр низ фикри хуб мебуд .
-
Чаро
char[]
сатрҳо (String
) барои ҳифзи иттилооти ҳассос бартарӣ доранд?Сатрҳо тағирнопазиранд . Ин маънои онро дорад, ки вақте ки сатр эҷод карда мешавад, то он даме, ки коллектори ахлот ба кор андохта нашавад, он тағир дода намешавад. Дар мавриди массив, комилан равшан аст, ки мо метавонем унсурҳои онро тағир диҳем. Ҳамин тавр, маълумоти ҳассос (ба монанди парол) дар ягон ҷои барнома дар матни равшан нигоҳ дошта намешаванд.
-
Оё мо метавонем сатрҳоро ҳангоми истифодаи баёнияи switch ҳамчун параметр гузаронем ?
Бале, аз versionи 7-и JDK сар карда. Пештар, дар versionи 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()
массиви аломатҳои навро бидуни истифодаи мавҷуда эҷод мекунад. Шумо инчунин метавонед ба диаграмма нигаред, ки фарқи байни усулҳои substring() дар JDK 6 ва JDK 7-ро ифода мекунад . -
String vs StringBuilder vs StringBuffer
String
vsStringBuilder
:StringBuilder
тағйирёбанда, яъне мо метавонем мундариҷаи онро пас аз сохтани an object тағир диҳем.StringBuilder
противStringBuffer
:StringBuffer
синхронизирован, это значит, что он функционирует корректно при использовании из нескольких потоков одновременно, но медленнее чемStringBuilder
. -
Как повторить строку несколько раз?
В Python, мы можем просто умножить строку на число
n
и, тогда, она будет повторяться n раз. В Java, мы можем использовать методrepeat()
из классаStringUtils
библиотеки Apache Commons Lang.String str = "abcd"; String repeated = StringUtils.repeat(str,3); //abcdabcdabcd
-
Как конвертировать строку в date?
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