Java тorндеги саптар жөнүндө эң көп берилген 10 суроолор бул жерде айтылган
-
Кантип саптарды салыштыруу керек? Эмне колдонуу керек: "
==
" жеequals()
?Кыскача айтканда, "
==
" саптарга шилтемелерди салыштырат, бирокequals()
ошол саптардагы маанилерди салыштырат. Эгерде сиз эки сап бир an object экенин текшергиңиз келбесе, анда колдонушуңуз керекequals()
.Ошондой эле саптык бассейн түшүнүгүн билүү жакшы идея болмок .
-
Эмне үчүн
char[]
саптар (String
) купуя маалыматты коргоо үчүн тандалат?Саптар өзгөрүлгүс . Бул сап түзүлгөндөн кийин, таштанды жыйноочу иштетилмейинче ал өзгөртүлбөйт дегенди билдирет. Массив болгон учурда, анын элементтерин өзгөртө аларыбыз айдан ачык. Ошентип, купуя маалымат (мисалы, сырсөз) программанын эч бир жеринде так текстте сакталbyte.
-
Switch операторун колдонууда саптарды параметр катары өткөрө алабызбы ?
Ооба, JDK 7-versionсынан баштап. Буга чейин 6-versionда бул мүмкүн эмес болчу.
// 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 vs StringBuffer
String
vsStringBuilder
:StringBuilder
өзгөрүлүүчү, бул an object түзүлгөндөн кийин анын мазмунун өзгөртө алабыз дегенди билдирет.StringBuilder
vsStringBuffer
:StringBuffer
синхрондоштурулган, башкача айтканда, ал бир эле учурда бир нече жиптен колдонулганда туура иштейт, бирок ге караганда жайыраакStringBuilder
. -
Кантип бир сапты бир нече жолу кайталоо керек?
Pythonдо биз сапты жөн гана санга көбөйтө алабыз
n
, анан ал n жолу кайталанат. Javaда биз Apache Commons Lang китепкана классынын ыкмасын колдоноrepeat()
алабыз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