JavaRush /Java блогы /Random-KK /Java тіліндегі жол класы

Java тіліндегі жол класы

Топта жарияланған
Java тіліндегі String класы Java тіліндегі жолдармен жұмыс істеуге арналған. Java бағдарламасында анықталған барлық жол литералдары (мысалы, «abc») String сыныбының даналары болып табылады. Оның негізгі сипаттамаларын қарастырайық:
  1. Класс Serializableжәне интерфейстерін жүзеге асырады CharSequence. Ол пакетке енгізілгендіктен java.lang, оны импорттау қажет емес.
  2. Java тіліндегі String класы соңғы сынып болып табылады және балалары болмайды.
  3. String класы өзгермейтін класс болып табылады, яғни оның an objectілерін жасалғаннан кейін өзгерту мүмкін емес. String сыныбының нысанына әкелетін String нысанындағы кез келген әрекеттер жаңа нысанның жасалуына әкеледі.
  4. Өзгермейтіндігіне байланысты String класының нысандары ағынды қауіпсіз және көп ағынды ортада пайдаланылуы мүмкін.
  5. Java тіліндегі әрбір нысанды жолға toStringбарлық Java сыныптары сыныптан мұраға алатын әдіс арқылы түрлендіруге болады Object.
Java тіліндегі жол класы - 1

Java String-мен жұмыс істеу

Бұл Java тіліндегі ең жиі қолданылатын сыныптардың бірі. Онда жолдағы белгілі бір таңбаларды талдау, жолдарды салыстыру және іздеу, ішкі жолдарды шығару, барлық таңбалар кіші және үлкен регистрге түрлендірілетін жолдың көшірмесін жасау және т.б. әдістері бар. String класының барлық әдістерінің тізімін ресми құжаттамадан табуға болады . Java сонымен қатар примитивтерді жолға және керісінше түрлендірудің (жолдарды қосу) қарапайым механизмін жүзеге асырады. Java тіліндегі String класымен жұмыс істеудің кейбір мысалдарын қарастырайық.

Жолдарды құру

String класының данасын жасаудың ең оңай жолы оған жол литералының мәнін тағайындау болып табылады:
String s = "I love movies";
Дегенмен, String класында сізге мүмкіндік беретін көптеген конструкторлар бар:
  • бос жолды қамтитын нысанды жасаңыз
  • жол айнымалысының көшірмесін жасаңыз
  • таңбалар массивіне негізделген жолды жасаңыз
  • byte массивіне негізделген жолды жасау (codeтауды ескере отырып)
  • және т.б.

Жолды қосу

Java-да екі жолды қосу өте қарапайым +. Java бір-біріне айнымалылар мен жол литералдарын қосуға мүмкіндік береді:
public static void main(String[] args) {
    String day = "Day";
    String and = "And";
    String night = "Night";

    String dayAndNight = day + " " + and + " " + night;
}
String класының нысандарын басқа класстардың an objectілерімен қосу арқылы біз соңғысын жол пішініне келтіреміз. Басқа класстардың an objectілерін жолдық көрініске түрлендіру toStringan objectідегі жасырын әдісті шақыру арқылы орындалады. Мұны келесі мысалмен көрсетейік:
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;
        }
    }
}

Жолды салыстыру

Жолдарды салыстыру үшін мына әдісті қолдануға болады equals():
public static void main(String[] args) {
    String x = "Test String";
    System.out.println("Test String".equals(x)); // true
}
Жолдарды салыстыру кезінде біз үшін регистр маңызды болмаса, біз әдісті пайдалануымыз керек equalsIgnoreCase():
public static void main(String[] args) {
       String x = "Test String";
       System.out.println("test string".equalsIgnoreCase(x)); // true
}

Объектіні/примитивті жолға түрлендіру

Кез келген Java класының данасын немесе кез келген қарабайыр деректер түрін жол көрінісіне түрлендіру үшін мына әдісті қолдануға болады 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;
        }
    }
}

Жолды санға түрлендіру

Көбінесе жолды санға түрлендіру қажет. Қарапайым типті орауыш сыныптарында дәл осы мақсатқа қызмет ететін әдістер бар. Бұл әдістердің барлығы талдау сөзінен басталады. Төмендегі жолды бүтін ( Integer) және бөлшек ( ) сандарға аударуды қарастырыңыз :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
}

Жолдар жиынын жол көрінісіне түрлендіру

Кейбір жолдар жинағының барлық элементтерін ерікті бөлгіш арқылы жол көрінісіне түрлендіру қажет болса, Java String класының келесі әдістерін пайдалануға болады:
  • join(CharSequence delimiter, CharSequence... elements)
  • join(CharSequence delimiter, Iterable<? extends CharSequence> elements)
delimiterЭлемент бөлгіші қайда және elementsжол жиымы/жол жинағы данасы. Әрқайсысын нүктелі үтірмен бөліп, жолдар тізімін жолға түрлендіретін мысалды қарастырайық:
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
     */
}

Жолды жолдар массивіне бөлу

Бұл операция әдісі арқылы орындалады split(String regex) Бөлгіш - жолды тұрақты өрнек regex. Төмендегі мысалда біз алдыңғы мысалда орындағанға қарама-қарсы әрекетті орындаймыз:
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
     */
}

Жолдағы элементтің орнын анықтау

Java тілінде String жолдағы таңбаның/ішкі жолдың орнын анықтау үшін әдістер жинағын қамтамасыз етеді:
  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)
Қайда:
  1. ch— сіз іздеп жатқан таңба ( char)
  2. str- іздеу жолы
  3. fromIndex— элементті іздеу орны
  4. әдістер indexOf- табылған бірінші элементтің орнын қайтарады
  5. әдістер lastIndexOf- табылған соңғы элементтің орнын қайтарады
Егер сіз іздеген элемент табылмаса, әдістер -1 жолын қайтарады. AАғылшын алфавитіндегі , K, Z, әріптерінің реттік нөмірін табуға тырысайық Я, бірақ Java тіліндегі жолдағы таңбаларды индекстеу нөлден басталатынын есте сақтаңыз:
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
}

Жолдан ішкі жолды шығару

Жолдан ішкі жолды шығару үшін Java тіліндегі String класы әдістерді қамтамасыз етеді:
  • 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
}

Жолды бас/кіші регистрге түрлендіру:

String класы жолды үлкен және кіші әріптерге түрлендіру әдістерін ұсынады:
  • 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
}
Осы Java класымен жұмыс істеу JavaRush онлайн курсының бастапқы деңгейлерінде оқытылады:

Қосымша дереккөздер

String сыныбы туралы ақпарат JavaRush қауымдастығындағы басқа мақалаларда да берілген:
  1. Java тіліндегі жолдар - Бұл мақала Java тіліндегі жолдармен жұмыс істеудің кейбір негіздерін қамтиды.
  2. Java жолы. Сұхбат сұрақтары мен жауаптары, 1 бөлім - бұл мақала тақырып бойынша сұхбат сұрақтарын талқылайды String, сонымен қатар түсініктемелер мен code мысалдары бар сұрақтарға жауап береді.
  3. Java тіліндегі жолдар (class java.lang.String) – бұл мақалада String класының тереңірек талдауы қарастырылған, сонымен қатар осы класспен жұмыс істеудің қыр-сырлары талқыланады.
Пікірлер
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION