Java tilidagi String klassi Java tilidagi satrlar bilan ishlash uchun mo'ljallangan. Java dasturida aniqlangan barcha satr harflari (masalan, "abc") String sinfining misollaridir. Keling, uning asosiy xususiyatlarini ko'rib chiqaylik:
- Sinf
Serializable
va interfeyslarni amalga oshiradiCharSequence
. U paketga kiritilganligi sabablijava.lang
uni import qilish shart emas. - Java tilidagi String sinfi yakuniy sinf bo'lib, farzandli bo'lishi mumkin emas.
- String klassi oʻzgarmas sinf boʻlib, uning obyektlarini yaratilgandan keyin oʻzgartirib boʻlmaydi. String sinfining ob'ektiga olib keladigan String ob'ektidagi har qanday operatsiyalar yangi ob'ektni yaratishga olib keladi.
- String sinfi ob'ektlari o'zgarmasligi tufayli iplar xavfsiz va ko'p oqimli muhitda ishlatilishi mumkin.
toString
Java'dagi har bir ob'ekt barcha Java sinflari sinfdan meros bo'ladigan usul orqali satrga aylantirilishi mumkinObject
.
Java String bilan ishlash
Bu Java-da eng ko'p ishlatiladigan sinflardan biridir. Unda satrdagi maʼlum belgilarni tahlil qilish, satrlarni solishtirish va qidirish, pastki qatorlarni ajratib olish, barcha belgilar kichik va katta harflarga aylantirilgan satr nusxasini yaratish va boshqalar usullari mavjud. String sinfining barcha usullari ro'yxatini rasmiy hujjatlarda topish mumkin . Java, shuningdek, birlashtirish (satrlarni ulash), ibtidoiylarni satrga aylantirish va aksincha, oddiy mexanizmni amalga oshiradi. Keling, Java tilidagi String sinfi bilan ishlashning ba'zi misollarini ko'rib chiqaylik.Strings yaratish
String sinfining namunasini yaratishning eng oson yo'li unga string literal qiymatini belgilashdir:String s = "I love movies";
Biroq, String sinfida sizga quyidagilarga imkon beruvchi ko'plab konstruktorlar mavjud:
- bo'sh satrni o'z ichiga olgan ob'ekt yarating
- string o'zgaruvchining nusxasini yaratish
- belgilar massiviga asoslangan qator yaratish
- bayt massiviga asoslangan satr yaratish (kodlashlarni hisobga olgan holda)
- va hokazo.
String qo'shish
Java-da ikkita satr qo'shish juda oddiy+
. Java bir-biriga o'zgaruvchilar va satr literallarini qo'shish imkonini beradi:
public static void main(String[] args) {
String day = "Day";
String and = "And";
String night = "Night";
String dayAndNight = day + " " + and + " " + night;
}
String sinfi ob'ektlarini boshqa sinflar ob'ektlari bilan qo'shish orqali biz ikkinchisini string shakliga qisqartiramiz. Boshqa sinflar ob'ektlarini satr tasviriga aylantirish toString
ob'ektga yashirin usul chaqiruvi orqali amalga oshiriladi. Buni quyidagi misol bilan ko'rsatamiz:
public class StringExamples {
public static void main(String[] args) {
Human max = new Human("Max");
String out = "java object: " + max;
System.out.println(out);
// Output: Java object: Person named Max
}
static class Human {
private String name;
public Human(String name) {
this.name = name;
}
@Override
public String toString() {
return "The Man with the Name" + name;
}
}
}
String taqqoslash
Satrlarni solishtirish uchun siz quyidagi usuldan foydalanishingiz mumkinequals()
:
public static void main(String[] args) {
String x = "Test String";
System.out.println("Test String".equals(x)); // true
}
Agar satrlarni taqqoslashda biz uchun holat muhim bo'lmasa, biz quyidagi usuldan foydalanishimiz kerak equalsIgnoreCase()
:
public static void main(String[] args) {
String x = "Test String";
System.out.println("test string".equalsIgnoreCase(x)); // true
}
Ob'ektni/ibtidoiyni satrga aylantirish
Har qanday Java sinfining namunasini yoki har qanday ibtidoiy ma'lumotlar turini string tasviriga aylantirish uchun siz quyidagi usuldan foydalanishingiz mumkinString.valueOf()
:
public class StringExamples {
public static void main(String[] args) {
String a = String.valueOf(1);
String b = String.valueOf(12.0D);
String c = String.valueOf(123.4F);
String d = String.valueOf(123456L);
String s = String.valueOf(true);
String human = String.valueOf(new Human("Alex"));
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
System.out.println(s);
System.out.println(human);
/*
Output:
1
12.0
123.4
123456
true
Person named Alex
*/
}
static class Human {
private String name;
public Human(String name) {
this.name = name;
}
@Override
public String toString() {
return "The Man with the Name" + name;
}
}
}
Satrni raqamga aylantirish
Ko'pincha siz satrni raqamga aylantirishingiz kerak. Primitiv turdagi o'rash sinflari aynan shu maqsadga xizmat qiluvchi usullarga ega. Bu usullarning barchasi parse so'zi bilan boshlanadi. Quyidagi satrning butun (Integer
) va kasr ( ) sonlarga tarjimasini ko'rib chiqing :Double
public static void main(String[] args) {
Integer i = Integer.parseInt("12");
Double d = Double.parseDouble("12.65D");
System.out.println(i); // 12
System.out.println(d); // 12.65
}
Satrlar to'plamini satr tasviriga aylantirish
Ba'zi qatorlar to'plamining barcha elementlarini ixtiyoriy ajratuvchi orqali satr tasviriga aylantirish kerak bo'lsa, Java String sinfining quyidagi usullaridan foydalanishingiz mumkin:join(CharSequence delimiter, CharSequence... elements)
join(CharSequence delimiter, Iterable<? extends CharSequence> elements)
delimiter
Element ajratuvchi qayerda va bu elements
qator massivi/satr yig'ish misoli. Keling, har birini nuqta-vergul bilan ajratib, satrlar ro'yxatini satrga aylantiradigan misolni ko'rib chiqaylik:
public static void main(String[] args) {
List<String> people = Arrays.asList(
"Philip J. Fry",
"Turanga Leela",
"Bender Bending Rodriguez",
"Hubert Farnsworth",
"Hermes Conrad",
"John D. Zoidberg",
"Amy Wong"
);
String peopleString = String.join("; ", people);
System.out.println(peopleString);
/*
Output:
Philip J. Fry; Turanga Leela; Bender Bending Rodriguez; Hubert Farnsworth; Hermes Conrad; John D. Zoidberg; Amy Wong
*/
}
Satrni qatorlar qatoriga bo'lish
Ushbu operatsiya usuli bilan amalga oshiriladisplit(String regex)
Ajratuvchi - satrli muntazam ifoda regex
. Quyidagi misolda biz oldingi misolda bajarganimizga teskari amalni bajaramiz:
public static void main(String[] args) {
String people = "Philip J. Fry; Turanga Leela; Bender Bending Rodriguez; Hubert Farnsworth; Hermes Conrad; John D. Zoidberg; Amy Wong";
String[] peopleArray = people.split("; ");
for (String human : peopleArray) {
System.out.println(human);
}
/*
Output:
Philip J. Fry
Turanga Leela
Bender Bending Rodriguez
Hubert Farnsworth
Hermes Conrad
John D. Zoidberg
Amy Wong
*/
}
Elementning chiziqdagi o'rnini aniqlash
Java tilida String satrdagi belgi/pastki qator o'rnini aniqlash uchun bir qator usullarni taqdim etadi:indexOf(int ch)
indexOf(int ch, int fromIndex)
indexOf(String str)
indexOf(String str, int fromIndex)
lastIndexOf(int ch)
lastIndexOf(int ch, int fromIndex)
lastIndexOf(String str)
lastIndexOf(String str, int fromIndex)
ch
— siz izlayotgan belgi (char
)str
- qidiruv qatorifromIndex
— elementni qidiradigan joy- usullar
indexOf
- topilgan birinchi elementning o'rnini qaytaradi - usullar
lastIndexOf
- topilgan oxirgi elementning o'rnini qaytaradi
A
Keling, ingliz alifbosidagi , K
, Z
, harflarining seriya raqamini topishga harakat qilaylik Я
, lekin shuni yodda tutingki, Java-da satrdagi belgilarni indekslash noldan boshlanadi:
public static void main(String[] args) {
String alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
System.out.println(alphabet.indexOf('A')); // 0
System.out.println(alphabet.indexOf('K')); // 10
System.out.println(alphabet.indexOf('Z')); // 25
System.out.println(alphabet.indexOf('Я')); // -1
}
Qatordan pastki qatorni ajratib olish
Stringdan pastki qatorni chiqarish uchun Java-dagi String sinfi quyidagi usullarni taqdim etadi:substring(int beginIndex)
substring(int beginIndex, int endIndex)
public static void main(String[] args) {
String filePath = "D:\\Movies\\Futurama.mp4";
int lastFileSeparatorIndex = filePath.lastIndexOf('\\');
String fileName = filePath.substring(lastFileSeparatorIndex + 1);
System.out.println(fileName); //9
}
Satrni katta/kichik harfga aylantiring:
String klassi satrni katta va kichik harflarga aylantirish usullarini taqdim etadi:toLowerCase()
toUpperCase()
public static void main(String[] args) {
String fry = "Philip J. Fry";
String lowerCaseFry = fry.toLowerCase();
String upperCaseFry = fry.toUpperCase();
System.out.println(lowerCaseFry); // philip j. fry
System.out.println(upperCaseFry); // PHILIP J. FRY
}
Ushbu Java klassi bilan ishlash JavaRush onlayn kursining boshlang'ich bosqichlarida o'rganiladi:
- Stringga kirish Java Syntax kvestining 1-darajasi, 4-ma'ruzasida berilgan.
- Stringning ichki tuzilishi, substring usuli Java Multithreading kvestining 2-darajasi, 3-ma'ruzasida o'rganiladi.
- Stringda pastki satrni topish, olish, oʻchirish Java Multithreading kvestining 2-bosqich, 4-maʼruzasida oʻrganiladi.
- String.format usuli Java Multithreading kvestining 2-darajasi, 6-ma'ruzasida yoritilgan.
Qo'shimcha manbalar
String sinfi haqidagi ma'lumotlar JavaRush hamjamiyatidagi boshqa maqolalarda ham keltirilgan:- Java-dagi strings - Ushbu maqola Java-da satrlar bilan ishlash bo'yicha ba'zi asoslarni o'z ichiga oladi.
- Java String. Intervyu savollari va javoblari, 1-qism - ushbu maqola mavzu bo'yicha intervyu savollarini muhokama qiladi
String
, shuningdek, tushuntirishlar va kodli misollar bilan savollarga javob beradi. - Java tilidagi satrlar (java.lang.String sinfi) - bu maqolada String sinfi chuqurroq tahlil qilinadi, shuningdek, ushbu sinf bilan ishlashning nozik jihatlari muhokama qilinadi.
GO TO FULL VERSION