Рубрики

Строковый класс в Java | Комплект 1

Строка — это последовательность символов. В Java объекты String являются неизменяемыми, что означает константу и не может быть изменено после создания.

Создание строки

Есть два способа создать строку в Java:

  • Строковый литерал
    String s = “GeeksforGeeks”;
  • Используя новое ключевое слово
    String s = new String (“GeeksforGeeks”);

Конструкторы

  1. String (byte [] byte_arr) — Создает новую строку путем декодирования массива байтов . Он использует набор символов по умолчанию платформы для декодирования.
    Пример:
    byte[] b_arr = {71, 101, 101, 107, 115};
    String s_byte =new String(b_arr); //Geeks
    
  2. String (byte [] byte_arr, Charset char_set) — Создает новую строку путем декодирования массива байтов . Он использует char_set для декодирования.
    Пример:
    byte[] b_arr = {71, 101, 101, 107, 115};
    Charset cs = Charset.defaultCharset();
    String s_byte_char = new String(b_arr, cs); //Geeks
    
  3. String (byte [] byte_arr, String char_set_name) — Создает новую строку путем декодирования массива байтов . Он использует char_set_name для декодирования.
    Он выглядит аналогично приведенным выше конструкциям, и они появляются перед аналогичными функциями, но он принимает String (которая содержит char_set_name) в качестве параметра, в то время как вышеуказанный конструктор принимает CharSet.
    Пример:
    byte[] b_arr = {71, 101, 101, 107, 115};
    String s = new String(b_arr, "US-ASCII"); //Geeks
    
  4. String (byte [] byte_arr, int start_index, int length) — Создает новую строку из массива байтов в зависимости от start_index (начальная позиция) и длины (количество символов от начальной позиции).
    Пример:
    byte[] b_arr = {71, 101, 101, 107, 115};
    String s = new String(b_arr, 1, 3); // eek
    
  5. String (byte [] byte_arr, int start_index, int length, Charset char_set) — Создает новую строку из массива байтов в зависимости от start_index (начальная позиция) и длины (количество символов от начальной позиции). Использует char_set для декодирования.
    Пример:
    byte[] b_arr = {71, 101, 101, 107, 115};
    Charset cs = Charset.defaultCharset();
    String s = new String(b_arr, 1, 3, cs); // eek
    
  6. String (byte [] byte_arr, int start_index, int length, String char_set_name) — Создает новую строку из массива байтов в зависимости от start_index (начального местоположения) и длины (количества символов от начального местоположения). Использует char_set_name для декодирования.
    Пример:
    byte[] b_arr = {71, 101, 101, 107, 115};
    String s = new String(b_arr, 1, 4, "US-ASCII"); // eeks
    
  7. String (char [] char_arr) — выделяет новую строку из заданного массива символов
    Пример:
    char char_arr[] = {'G', 'e', 'e', 'k', 's'};
    String s = new String(char_arr); //Geeks
    
  8. String (char [] char_array, int start_index, int count) — выделяет строку из заданного массива символов, но выбирает количество символов из start_index .
    Пример:
    char char_arr[] = {'G', 'e', 'e', 'k', 's'};
    String s = new String(char_arr , 1, 3); //eek
    
  9. String (int [] uni_code_points, int offset, int count) — выделяет строку из uni_code_array, но выбирает количество символов из начального индекса .
    Пример:
    int[] uni_code = {71, 101, 101, 107, 115};
    String s = new String(uni_code, 1, 3); //eek
    
  10. String (StringBuffer s_buffer) — выделяет новую строку из строки в s_buffer
    Пример:
    StringBuffer s_buffer = new StringBuffer("Geeks");
    String s = new String(s_buffer); //Geeks
    
  11. String (StringBuilder s_builder) — выделяет новую строку из строки в s_builder
    Пример:
    StringBuilder s_builder = new StringBuilder("Geeks");
    String s = new String(s_builder); //Geeks
    

Строковые Методы

  1. int length (): возвращает количество символов в строке.
    "GeeksforGeeks".length();  // returns 13
  2. Char charAt (int i) : возвращает символ по i- му индексу.
    "GeeksforGeeks".charAt(3); // returns  ‘k’
  3. String substring (int i) : Возвращает подстроку от i- го индексного символа до конца.
    "GeeksforGeeks".substring(3); // returns “ksforGeeks”
  4. String substring (int i, int j) : возвращает подстроку из индекса i в индекс j-1.
     "GeeksforGeeks".substring(2, 5); // returns “eks”
  5. String concat (String str) : объединяет указанную строку до конца этой строки.
     String s1 = ”Geeks”;
     String s2 = ”forGeeks”;
     String output = s1.concat(s2); // returns “GeeksforGeeks”
    
  6. int indexOf (String s) : возвращает индекс в строке первого вхождения указанной строки.
     String s = ”Learn Share Learn”;
     int output = s.indexOf(“Share”); // returns 6
    
  7. int indexOf (String s, int i) : возвращает индекс в строке первого вхождения указанной строки, начиная с указанного индекса.
     String s = ”Learn Share Learn”;
     int output = s.indexOf("ea",3);// returns 13
    
  8. Int lastIndexOf (String s) : возвращает индекс в строке последнего вхождения указанной строки.
     String s = ”Learn Share Learn”;
     int output = s.lastIndexOf("a"); // returns 14
    
  9. boolean equals (Object otherObj): сравнивает эту строку с указанным объектом.
     Boolean out = “Geeks”.equals(“Geeks”); // returns true
     Boolean out = “Geeks”.equals(“geeks”); // returns false
    
  10. boolean equalsIgnoreCase (String anotherString) : Сравнивает строку с другой строкой, игнорируя соображения регистра.
     Boolean out= “Geeks”.equalsIgnoreCase(“Geeks”); // returns true
     Boolean out = “Geeks”.equalsIgnoreCase(“geeks”); // returns true
  11. int compareTo (String anotherString) : сравнивает две строки лексикографически.
     int out = s1.compareTo(s2);  // where s1 ans s2 are
                                 // strings to be compared
    
     This returns difference s1-s2. If :
     out < 0  // s1 comes before s2
     out = 0  // s1 and s2 are equal.
     out > 0   // s1 comes after s2.
    
  12. int compareToIgnoreCase (String anotherString): сравнивает две строки лексикографически, игнорируя соображения регистра.
     int out = s1.compareToIgnoreCase(s2);  
    // where s1 ans s2 are 
    // strings to be compared
    
     This returns difference s1-s2. If :
     out < 0  // s1 comes before s2
     out = 0   // s1 and s2 are equal.
     out > 0   // s1 comes after s2.
    

    Примечание. В этом случае он не будет рассматривать регистр букв (он будет игнорировать прописные или строчные буквы).

  13. String toLowerCase () : Преобразует все символы в строке в нижний регистр.
    String word1 = “HeLLo”;
    String word3 = word1.toLowerCase(); // returns “hello"
    
  14. String toUpperCase () : Преобразует все символы в строке в верхний регистр.
    String word1 = “HeLLo”;
    String word2 = word1.toUpperCase(); // returns “HELLO”
    
  15. String trim () : возвращает копию строки, удаляя пробелы на обоих концах. Это не влияет на пробелы в середине.
    String word1 = “ Learn Share Learn “;
    String word2 = word1.trim(); // returns “Learn Share Learn”
    
  16. String replace (char oldChar, char newChar) : возвращает новую строку, заменяя все вхождения oldChar на newChar.
    String s1 = “feeksforfeeks“;
    String s2 = “feeksforfeeks”.replace(‘f’ ,’g’); // returns “geeksgorgeeks”
    

    Примечание: — s1 — это все еще факсфорфеекс, а s2 — это гиксгоргеекс

  17. Программа для иллюстрации всех строковых методов:

    // Java-код для иллюстрации различных конструкторов и методов
    // Строковый класс.

      

    import java.io.*;

    import java.util.*;

    class Test

    {

        public static void main (String[] args)

        {

            String s= "GeeksforGeeks";

            // или String s = new String ("GeeksforGeeks");

      

            // Возвращает количество символов в строке.

            System.out.println("String length = " + s.length());

      

            // Возвращает символ по i-му индексу.

            System.out.println("Character at 3rd position = "

                               + s.charAt(3));

      

            // Возвращаем подстроку из i-го индексного символа

            // до конца строки

            System.out.println("Substring " + s.substring(3));

      

            // Возвращает подстроку из индекса i в индекс j-1.

            System.out.println("Substring  = " + s.substring(2,5));

      

            // Объединяет строку string2 до конца строки string1.

            String s1 = "Geeks";

            String s2 = "forGeeks";

            System.out.println("Concatenated string  = " +

                                s1.concat(s2));

      

            // Возвращает индекс в строке

            // первого вхождения указанной строки.

            String s4 = "Learn Share Learn";

            System.out.println("Index of Share "

                               s4.indexOf("Share"));

      

            // Возвращает индекс в строке

            // первое вхождение указанной строки,

            // начиная с указанного индекса.

            System.out.println("Index of a  = "

                               s4.indexOf('a',3));

      

            // Проверка равенства строк

            Boolean out = "Geeks".equals("geeks");

            System.out.println("Checking Equality  " + out);

            out = "Geeks".equals("Geeks");

            System.out.println("Checking Equality  " + out);

      

            out = "Geeks".equalsIgnoreCase("gEeks ");

            System.out.println("Checking Equality " + out);

      

            int out1 = s1.compareTo(s2);

            System.out.println("If s1 = s2 " + out);

      

            // Преобразование дел

            String word1 = "GeeKyMe";

            System.out.println("Changing to lower Case " +

                                word1.toLowerCase());

      

            // Преобразование дел

            String word2 = "GeekyME";

            System.out.println("Changing to UPPER Case "

                                word1.toUpperCase());

      

            // обрезать слово

            String word4 = " Learn Share Learn ";

            System.out.println("Trim the word " + word4.trim());

      

            // Замена символов

            String str1 = "feeksforfeeks";

            System.out.println("Original String " + str1);

            String str2 = "feeksforfeeks".replace('f' ,'g') ;

            System.out.println("Replaced f with g -> " + str2);

        

    }

    Выход :

    String length = 13
    Character at 3rd position = k
    Substring ksforGeeks
    Substring = eks
    Concatenated string = GeeksforGeeks
    Index of Share 6
    Index of a = 8
    Checking Equality false
    Checking Equality true
    Checking Equality false
    If s1 = s2 false
    Changing to lower Case geekyme
    Changing to UPPER Case GEEKYME
    Trim the word Learn Share Learn
    Original String feeksforfeeks
    Replaced f with g -> geeksgorgeeks
    

    Эта статья предоставлена Рахул Агравал. Пожалуйста, напишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по обсуждаемой теме

    Рекомендуемые посты:

    Строковый класс в Java | Комплект 1

    0.00 (0%) 0 votes