Java - klasa ciągów

Ciągi, które są szeroko stosowane w programowaniu w języku Java, to sekwencja znaków. W języku programowania Java ciągi znaków są traktowane jak obiekty.

Platforma Java udostępnia klasę String do tworzenia łańcuchów znaków i manipulowania nimi.

Tworzenie ciągów

Najbardziej bezpośrednim sposobem utworzenia ciągu jest napisanie -

String greeting = "Hello world!";

Ilekroć napotka w kodzie literał ciągu, kompilator tworzy obiekt String z jego wartością, w tym przypadku „Hello world!”.

Podobnie jak w przypadku każdego innego obiektu, możesz tworzyć obiekty String przy użyciu słowa kluczowego new i konstruktora. Klasa String ma 11 konstruktorów, które umożliwiają podanie wartości początkowej ciągu przy użyciu różnych źródeł, takich jak tablica znaków.

Przykład

public class StringDemo {

   public static void main(String args[]) {
      char[] helloArray = { 'h', 'e', 'l', 'l', 'o', '.' };
      String helloString = new String(helloArray);  
      System.out.println( helloString );
   }
}

To da następujący wynik -

Wynik

hello.

Note- Klasa String jest niezmienna, więc raz utworzony obiekt String nie może zostać zmieniony. Jeśli istnieje potrzeba wprowadzenia wielu modyfikacji w ciągach znaków, powinieneś użyć klas bufora ciągów i budujących ciągi .

Długość łańcucha

Metody uzyskiwania informacji o obiekcie znane są jako accessor methods. Jedną metodą dostępową, której można używać z ciągami znaków, jest metoda length (), która zwraca liczbę znaków zawartych w obiekcie ciągu.

Poniższy program jest przykładem length(), metoda Klasa String.

Przykład

public class StringDemo {

   public static void main(String args[]) {
      String palindrome = "Dot saw I was Tod";
      int len = palindrome.length();
      System.out.println( "String Length is : " + len );
   }
}

To da następujący wynik -

Wynik

String Length is : 17

Łączenie ciągów

Klasa String zawiera metodę łączenia dwóch ciągów -

string1.concat(string2);

Zwraca nowy ciąg, który jest ciągiem 1 z dodanym ciągiem 2 na końcu. Możesz również użyć metody concat () z literałami łańcuchowymi, jak w -

"My name is ".concat("Zara");

Łańcuchy są częściej łączone z operatorem +, jak w -

"Hello," + " world" + "!"

co skutkuje -

"Hello, world!"

Spójrzmy na następujący przykład -

Przykład

public class StringDemo {

   public static void main(String args[]) {
      String string1 = "saw I was ";
      System.out.println("Dot " + string1 + "Tod");
   }
}

To da następujący wynik -

Wynik

Dot saw I was Tod

Tworzenie ciągów formatujących

Masz metody printf () i format () do drukowania danych wyjściowych ze sformatowanymi liczbami. Klasa String ma równoważną metodę klasy, format (), która zwraca obiekt String zamiast obiektu PrintStream.

Użycie statycznej metody format () klasy String umożliwia utworzenie sformatowanego ciągu, którego można użyć ponownie, w przeciwieństwie do jednorazowej instrukcji print. Na przykład zamiast -

Przykład

System.out.printf("The value of the float variable is " +
                  "%f, while the value of the integer " +
                  "variable is %d, and the string " +
                  "is %s", floatVar, intVar, stringVar);

Możesz napisać -

String fs;
fs = String.format("The value of the float variable is " +
                   "%f, while the value of the integer " +
                   "variable is %d, and the string " +
                   "is %s", floatVar, intVar, stringVar);
System.out.println(fs);

Metody ciągów

Oto lista metod obsługiwanych przez klasę String -

Sr.No. Metoda i opis
1 char charAt (int index)

Zwraca znak o określonym indeksie.

2 int compareTo (Object o)

Porównuje ten ciąg z innym obiektem.

3 int compareTo (String anotherString)

Porównuje dwa ciągi leksykograficzne.

4 int compareToIgnoreCase (String str)

Porównuje dwa ciągi leksykograficznie, ignorując różnice w wielkości liter.

5 String concat (String str)

Łączy określony ciąg na końcu tego ciągu.

6 boolean contentEquals (StringBuffer sb)

Zwraca wartość true wtedy i tylko wtedy, gdy ten String reprezentuje tę samą sekwencję znaków co określony StringBuffer.

7 static String copyValueOf (char [] dane)

Zwraca ciąg, który reprezentuje sekwencję znaków w określonej tablicy.

8 static String copyValueOf (char [] dane, int offset, int count)

Zwraca ciąg, który reprezentuje sekwencję znaków w określonej tablicy.

9 boolean endWith (przyrostek ciągu)

Sprawdza, czy ten ciąg kończy się określonym sufiksem.

10 boolean równa się (Object anObject)

Porównuje ten ciąg z określonym obiektem.

11 boolean equalsIgnoreCase (String anotherString)

Porównuje ten ciąg z innym ciągiem, ignorując rozważania dotyczące wielkości liter.

12 byte [] getBytes ()

Koduje ten ciąg do sekwencji bajtów przy użyciu domyślnego zestawu znaków platformy, przechowując wynik w nowej tablicy bajtów.

13 byte [] getBytes (String charsetName)

Koduje ten ciąg do sekwencji bajtów przy użyciu nazwanego zestawu znaków, przechowując wynik w nowej tablicy bajtów.

14 void getChars (int srcBegin, int srcEnd, char [] dst, int dstBegin)

Kopiuje znaki z tego ciągu do docelowej tablicy znaków.

15 int hashCode ()

Zwraca kod skrótu dla tego ciągu.

16 int indexOf (int ch)

Zwraca indeks w tym ciągu pierwszego wystąpienia określonego znaku.

17 int indexOf (int ch, int fromIndex)

Zwraca indeks w tym ciągu pierwszego wystąpienia określonego znaku, rozpoczynając wyszukiwanie od określonego indeksu.

18 int indexOf (String str)

Zwraca indeks w tym ciągu pierwszego wystąpienia określonego podciągu.

19 int indexOf (String str, int fromIndex)

Zwraca indeks w tym ciągu pierwszego wystąpienia określonego podciągu, rozpoczynając od określonego indeksu.

20 String intern ()

Zwraca kanoniczną reprezentację obiektu ciągu.

21 int lastIndexOf (int ch)

Zwraca indeks w tym ciągu ostatniego wystąpienia określonego znaku.

22 int lastIndexOf (int ch, int fromIndex)

Zwraca indeks w tym ciągu ostatniego wystąpienia określonego znaku, przeszukując wstecz, zaczynając od określonego indeksu.

23 int lastIndexOf (ciąg znaków)

Zwraca indeks w tym ciągu najbardziej prawe wystąpienie określonego podciągu.

24 int lastIndexOf (String str, int fromIndex)

Zwraca indeks w tym ciągu ostatniego wystąpienia określonego podciągu, przeszukując wstecz, zaczynając od określonego indeksu.

25 int długość ()

Zwraca długość tego ciągu.

26 dopasowania logiczne (wyrażenie regularne typu String)

Informuje, czy ten ciąg pasuje do podanego wyrażenia regularnego.

27 boolean regionMatches (boolean ignoreCase, int toffset, String other, int ooffset, int len)

Testuje, czy dwa regiony strun są równe.

28 boolean regionMatches (int toffset, String other, int ooffset, int len)

Testuje, czy dwa regiony strun są równe.

29 Zastąp ciąg (char oldChar, char newChar)

Zwraca nowy ciąg będący wynikiem zastąpienia wszystkich wystąpień oldChar w tym ciągu przez newChar.

30 String replaceAll (wyrażenie regularne ciągu, zamiana ciągu

Zastępuje każdy podciąg tego ciągu, który pasuje do podanego wyrażenia regularnego, na podany zamiennik.

31 String replaceFirst (wyrażenie regularne, zamiana ciągu)

Zastępuje pierwszy podciąg tego ciągu, który pasuje do podanego wyrażenia regularnego, na podany zamiennik.

32 Podział ciągu [] (wyrażenie regularne ciągu)

Dzieli ten ciąg wokół dopasowań podanego wyrażenia regularnego.

33 String [] split (ciąg wyrażenia regularnego, limit int)

Dzieli ten ciąg wokół dopasowań podanego wyrażenia regularnego.

34 boolean startedWith (przedrostek ciągu)

Sprawdza, czy ten ciąg zaczyna się od określonego prefiksu.

35 boolean startedWith (prefiks ciągu, int toffset)

Sprawdza, czy ten ciąg zaczyna się od określonego prefiksu rozpoczynającego się od określonego indeksu.

36 CharSequence subSequence (int beginIndex, int endIndex)

Zwraca nową sekwencję znaków, która jest podciągiem tej sekwencji.

37 Podciąg ciągu (int beginIndex)

Zwraca nowy ciąg, który jest podłańcuchem tego ciągu.

38 Podciąg ciągu (int beginIndex, int endIndex)

Zwraca nowy ciąg, który jest podłańcuchem tego ciągu.

39 char [] toCharArray ()

Konwertuje ten ciąg na nową tablicę znaków.

40 Ciąg toLowerCase ()

Konwertuje wszystkie znaki w tym String na małe litery przy użyciu reguł domyślnych ustawień regionalnych.

41 Ciąg toLowerCase (ustawienia regionalne)

Konwertuje wszystkie znaki w tym łańcuchu na małe litery przy użyciu reguł danego ustawienia regionalnego.

42 Ciąg toString ()

Ten obiekt (który jest już łańcuchem!) Jest zwracany sam.

43 Ciąg toUpperCase ()

Konwertuje wszystkie znaki w tym łańcuchu na wielkie litery przy użyciu reguł domyślnych ustawień regionalnych.

44 Ciąg toUpperCase (ustawienia regionalne)

Konwertuje wszystkie znaki w tym łańcuchu na wielkie litery przy użyciu reguł danego ustawienia regionalnego.

45 Przycinanie sznurka ()

Zwraca kopię ciągu z pominięciem wiodących i końcowych białych znaków.

46 static String valueOf (pierwotny typ danych x)

Zwraca reprezentację ciągu przekazanego argumentu typu danych.