logo

Ciąg Java

W Jawa , string jest w zasadzie obiektem reprezentującym sekwencję wartości znaków. Jakiś szyk znaków działa tak samo jak ciąg Java. Na przykład:

 char[] ch={'j','a','v','a','t','p','o','i','n','t'}; String s=new String(ch); 

jest taki sam jak:

 String s='javatpoint'; 

Ciąg Java class udostępnia wiele metod wykonywania operacji na ciągach znaków, takich jak porównaj (), concat (), równości (), split (), długość (), zamień (), porównaj To (), intern (), substring () itp.

Implementuje klasę java.lang.String Możliwość serializacji , Porównywalny I Sekwencja znaków interfejsy .

Ciąg w Javie

Interfejs CharSequence

Interfejs CharSequence służy do reprezentowania sekwencji znaków. Strunowy, Bufor ciągów I Konstruktor ciągów klasy to realizują. Oznacza to, że możemy tworzyć ciągi znaków w Javie, używając tych trzech klas.

Sekwencja znaków w Javie

Ciąg Java jest niezmienny, co oznacza, że ​​nie można go zmienić. Za każdym razem, gdy zmieniamy dowolny ciąg, tworzona jest nowa instancja. W przypadku modyfikowalnych ciągów można użyć klas StringBuffer i StringBuilder.

Ciąg niezmienny omówimy później. Najpierw zrozumiemy, czym jest String w Javie i jak utworzyć obiekt String.

Co to jest ciąg w Javie?

Ogólnie rzecz biorąc, String jest sekwencją znaków. Ale w Javie string jest obiektem reprezentującym sekwencję znaków. Do utworzenia obiektu typu string używana jest klasa java.lang.String.

Jak utworzyć obiekt typu string?

Istnieją dwa sposoby tworzenia obiektu String:

  1. Dosłownym ciągiem znaków
  2. Według nowego słowa kluczowego

1) Dosłowny ciąg znaków

Literał Java String jest tworzony przy użyciu podwójnych cudzysłowów. Na przykład:

 String s='welcome'; 

Za każdym razem, gdy tworzysz literał łańcuchowy, JVM najpierw sprawdza „pulę stałych łańcuchowych”. Jeśli ciąg znaków już istnieje w puli, zwracane jest odwołanie do instancji w puli. Jeśli ciąg nie istnieje w puli, tworzona jest nowa instancja ciągu i umieszczana w puli. Na przykład:

 String s1='Welcome'; String s2='Welcome';//It doesn't create a new instance 

Ciąg Java

W powyższym przykładzie zostanie utworzony tylko jeden obiekt. Po pierwsze, JVM nie znajdzie żadnego obiektu łańcuchowego o wartości „Witamy” w puli stałych łańcuchowych, dlatego utworzy nowy obiekt. Następnie znajdzie w puli ciąg o wartości „Witamy”, nie utworzy nowego obiektu, ale zwróci odwołanie do tej samej instancji.

Uwaga: Obiekty typu string są przechowywane w specjalnym obszarze pamięci zwanym „pulą stałych stringów”.

Dlaczego Java używa koncepcji literału String?

Aby zwiększyć wydajność pamięci Java (ponieważ nie są tworzone żadne nowe obiekty, jeśli istnieją już w puli stałych łańcuchów).

2) Według nowego słowa kluczowego

 String s=new String('Welcome');//creates two objects and one reference variable 

W takim wypadku, JVM utworzy nowy obiekt łańcuchowy w normalnej (innej niż pula) pamięci sterty, a dosłowne „Witamy” zostanie umieszczone w puli stałych łańcuchów. Zmienna s będzie odnosić się do obiektu na stercie (nie w puli).

boto3

Przykład ciągu Java

StringExample.java

 public class StringExample{ public static void main(String args[]){ String s1='java';//creating string by Java string literal char ch[]={'s','t','r','i','n','g','s'}; String s2=new String(ch);//converting char array to string String s3=new String('example');//creating Java string by new keyword System.out.println(s1); System.out.println(s2); System.out.println(s3); }} 
Przetestuj teraz

Wyjście:

java strings example 

Powyższy kod konwertuje a zwęglać tablica w a Strunowy obiekt. I wyświetla obiekty String s1, s2 , I s3 na konsoli za pomocą println() metoda.

Metody klas Java String

Klasa java.lang.String udostępnia wiele przydatnych metod wykonywania operacji na sekwencji wartości znaków.

NIE.metodaOpis
1 char charAt(int indeks) Zwraca wartość char dla określonego indeksu
2 długość całkowita() Zwraca długość ciągu
3 statyczny format ciągu (format ciągu, obiekt... argumenty) Zwraca sformatowany ciąg.
4 statyczny format ciągu (Locale l, format ciągu, obiekt... argumenty) Zwraca sformatowany ciąg znaków z podanymi ustawieniami regionalnymi.
5 Podciąg ciągu (int BeginIndex) Zwraca podciąg dla danego indeksu początkowego.
6 Podciąg ciągu (int BeginIndex, int endIndex) Zwraca podciąg dla danego indeksu początkowego i indeksu końcowego.
7 wartość logiczna zawiera (CharSequence s) Zwraca wartość true lub false po dopasowaniu sekwencji wartości char.
8 statyczne łączenie ciągów (separator CharSequence, elementy CharSequence...) Zwraca połączony ciąg.
9 statyczne łączenie ciągów (separator CharSequence, elementy iterowalne) Zwraca połączony ciąg.
10 wartość logiczna równa się (obiekt inny) Sprawdza równość ciągu z podanym obiektem.
jedenaście wartość logiczna jest pusta() Sprawdza, czy ciąg znaków jest pusty.
12 Połączenie ciągu (String str) Łączy określony ciąg.
13 Zamień ciąg (znak stary, znak nowy) Zastępuje wszystkie wystąpienia określonej wartości char.
14 Zamień ciąg (stara CharSequence, nowa CharSequence) Zastępuje wszystkie wystąpienia określonego CharSequence.
piętnaście statyczny ciąg równa się IgnoreCase (ciąg inny) Porównuje inny ciąg. Nie sprawdza wielkości liter.
16 Rozdzielenie ciągu [] (wyrażenie regularne ciągu) Zwraca podzielony ciąg pasujący do wyrażenia regularnego.
17 String[] split(Wyrażenie regularne ciągu, limit int) Zwraca podzielony ciąg pasujący do wyrażenia regularnego i limitu.
18 Ciąg stażysta() Zwraca internowany ciąg.
19 int indeksOf(int ch) Zwraca określony indeks wartości char.
20 int indeksOf(int ch, int fromIndex) Zwraca określony indeks wartości char, zaczynając od podanego indeksu.
dwadzieścia jeden int indeksOf(podciąg ciągu) Zwraca określony indeks podłańcucha.
22 int indeksOf(podciąg ciągu, int z indeksu) Zwraca określony indeks podciągu, zaczynając od podanego indeksu.
23 Ciąg doLowerCase() Zwraca ciąg znaków zapisany małymi literami.
24 String toLowerCase (Locale l) Zwraca ciąg znaków zapisany małymi literami, używając określonych ustawień regionalnych.
25 Ciąg doUpperCase() Zwraca ciąg znaków pisany wielkimi literami.
26 Ciąg znaków naUpperCase(Locale l) Zwraca ciąg znaków zapisany wielkimi literami, używając określonych ustawień regionalnych.
27 Przycinanie sznurka() Usuwa początkowe i końcowe spacje tego ciągu.
28 statyczna wartość ciągu (int wartość) Konwertuje dany typ na ciąg. Jest to metoda przeciążona.

Czy wiesz?
  • Dlaczego obiekty String są niezmienne?
  • Jak stworzyć niezmienną klasę?
  • Co to jest pula stałych ciągów?
  • Jaki kod zostanie zapisany przez kompilator, jeśli połączysz dowolny ciąg znaków za pomocą + (operator łączenia ciągów)?
  • Jaka jest różnica między klasą StringBuffer a klasą StringBuilder?

Czego nauczymy się w obsłudze ciągów?
  • Pojęcie sznurka
  • Niezmienny ciąg
  • Porównanie ciągów
  • Łączenie ciągów
  • Pojęcie podciągu
  • Metody klas String i ich zastosowanie
  • Klasa StringBuffer
  • Klasa StringBuilder
  • Tworzenie klasy niezmiennej
  • metoda toString().
  • Klasa StringTokenizera