JavaRush /Java blogi /Random-UZ /Java tilidagi string sinf

Java tilidagi string sinf

Guruhda nashr etilgan
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:
  1. Sinf Serializableva interfeyslarni amalga oshiradi CharSequence. U paketga kiritilganligi sababli java.languni import qilish shart emas.
  2. Java tilidagi String sinfi yakuniy sinf bo'lib, farzandli bo'lishi mumkin emas.
  3. 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.
  4. String sinfi ob'ektlari o'zgarmasligi tufayli iplar xavfsiz va ko'p oqimli muhitda ishlatilishi mumkin.
  5. toStringJava'dagi har bir ob'ekt barcha Java sinflari sinfdan meros bo'ladigan usul orqali satrga aylantirilishi mumkin Object.
Java-da string klassi - 1

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 toStringob'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 mumkin equals():
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 mumkin String.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)
delimiterElement ajratuvchi qayerda va bu elementsqator 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 oshiriladi split(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:
  1. indexOf(int ch)
  2. indexOf(int ch, int fromIndex)
  3. indexOf(String str)
  4. indexOf(String str, int fromIndex)
  5. lastIndexOf(int ch)
  6. lastIndexOf(int ch, int fromIndex)
  7. lastIndexOf(String str)
  8. lastIndexOf(String str, int fromIndex)
Qayerda:
  1. ch— siz izlayotgan belgi ( char)
  2. str- qidiruv qatori
  3. fromIndex— elementni qidiradigan joy
  4. usullar indexOf- topilgan birinchi elementning o'rnini qaytaradi
  5. usullar lastIndexOf- topilgan oxirgi elementning o'rnini qaytaradi
Agar siz izlayotgan element topilmasa, usullar -1 qatorini qaytaradi. AKeling, 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)
Keling, fayl nomini uning yo'lidan olish uchun elementni joylashtirish va pastki qatorni chiqarish usullaridan qanday foydalanishni ko'rib chiqaylik:
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()
Keling, misol yordamida ushbu usullar qanday ishlashini ko'rib chiqaylik:
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:

Qo'shimcha manbalar

String sinfi haqidagi ma'lumotlar JavaRush hamjamiyatidagi boshqa maqolalarda ham keltirilgan:
  1. Java-dagi strings - Ushbu maqola Java-da satrlar bilan ishlash bo'yicha ba'zi asoslarni o'z ichiga oladi.
  2. 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.
  3. Java tilidagi satrlar (java.lang.String sinfi) - bu maqolada String sinfi chuqurroq tahlil qilinadi, shuningdek, ushbu sinf bilan ishlashning nozik jihatlari muhokama qilinadi.
Izohlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION