logo

Java Dizesi

İçinde Java string temel olarak char değerlerinin sırasını temsil eden bir nesnedir. Bir sıralamak karakter sayısı Java dizesiyle aynı şekilde çalışır. Örneğin:

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

şununla aynıdır:

 String s='javatpoint'; 

Java Dizesi sınıfı, stringler üzerinde işlemler gerçekleştirmek için Compare(), concat(), equals(), split(),length(), replacement(), CompareTo(), intern(), substring() vb. gibi birçok yöntem sağlar.

Java.lang.String sınıfı uygular Serileştirilebilir , Karşılaştırılabilir Ve Karakter Sırası arayüzler .

Java'da dize

CharSequence Arayüzü

CharSequence arayüzü karakter dizisini temsil etmek için kullanılır. Sicim, StringBuffer Ve StringBuilder sınıflar bunu uygular. Bu, Java'da bu üç sınıfı kullanarak dizeler oluşturabileceğimiz anlamına gelir.

Java'da CharSequence

Java String değişmezdir, yani değiştirilemez. Herhangi bir dizeyi değiştirdiğimizde yeni bir örnek oluşturulur. Değişken dizeler için StringBuffer ve StringBuilder sınıflarını kullanabilirsiniz.

Değişmez dizgeyi daha sonra tartışacağız. Öncelikle Java'da String'in ne olduğunu ve String nesnesinin nasıl oluşturulacağını anlayalım.

Java'da String nedir?

Genel olarak String bir karakter dizisidir. Ancak Java'da string, bir karakter dizisini temsil eden bir nesnedir. Java.lang.String sınıfı bir dize nesnesi oluşturmak için kullanılır.

Bir dize nesnesi nasıl oluşturulur?

String nesnesini oluşturmanın iki yolu vardır:

  1. Dize değişmezine göre
  2. Yeni anahtar kelimeye göre

1) Dize Değişmezi

Java String değişmezi çift tırnak kullanılarak oluşturulur. Örneğin:

 String s='welcome'; 

Bir dize değişmezi oluşturduğunuzda, JVM ilk önce 'dize sabiti havuzunu' kontrol eder. Dize havuzda zaten mevcutsa, havuza alınmış örneğe bir başvuru döndürülür. Dize havuzda mevcut değilse yeni bir dize örneği oluşturulur ve havuza yerleştirilir. Örneğin:

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

Java Dizesi

Yukarıdaki örnekte yalnızca bir nesne oluşturulacaktır. Öncelikle JVM, string sabit havuzunda 'Hoş Geldiniz' değerine sahip herhangi bir string nesnesi bulamayacak, bu nedenle yeni bir nesne yaratacaktır. Bundan sonra havuzda 'Hoş Geldiniz' değerine sahip dizeyi bulacak, yeni bir nesne yaratmayacak ancak referansı aynı örneğe döndürecektir.

Not: String nesneleri, 'string sabit havuzu' olarak bilinen özel bir hafıza alanında saklanır.

Java neden String değişmezi kavramını kullanıyor?

Java'yı belleği daha verimli hale getirmek için (çünkü dize sabit havuzunda zaten mevcutsa yeni nesneler oluşturulmaz).

2) Yeni anahtar kelimeye göre

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

Böyle bir durumda, JVM normal (havuz dışı) yığın belleğinde yeni bir dize nesnesi oluşturacak ve 'Hoş Geldiniz' değişmez değeri dize sabit havuzuna yerleştirilecektir. s değişkeni bir yığındaki (havuz dışı) nesneye atıfta bulunacaktır.

xd ne anlama geliyor

Java Dizesi Örneği

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); }} 
Şimdi Test Edin

Çıktı:

java strings example 

Yukarıdaki kod, bir karakter bir dizi Sicim nesne. Ve String nesnelerini görüntüler s1, s2 , Ve s3 kullanarak konsolda println() yöntem.

Java String sınıfı yöntemleri

Java.lang.String sınıfı, karakter değerleri dizisi üzerinde işlemler gerçekleştirmek için birçok yararlı yöntem sağlar.

HAYIR.YöntemTanım
1 char charAt(int indeksi) Belirli bir indeks için karakter değerini döndürür
2 int uzunluk() Dize uzunluğunu döndürür
3 statik Dize biçimi (Dize biçimi, Nesne... args) Biçimlendirilmiş bir dize döndürür.
4 statik Dize biçimi (Yerel ayar l, Dize biçimi, Nesne... args) Verilen yerel ayarla biçimlendirilmiş dizeyi döndürür.
5 Dize alt dizesi(int beginIndex) Verilen başlangıç ​​dizini için alt dizeyi döndürür.
6 Dize alt dizesi(int beginIndex, int endIndex) Verilen başlangıç ​​dizini ve bitiş dizini için alt dizeyi döndürür.
7 boolean içerir(CharSequence s) Char değeri dizisiyle eşleştikten sonra true veya false değerini döndürür.
8 static String join(CharSequence sınırlayıcı, CharSequence... öğeleri) Birleştirilmiş bir dize döndürür.
9 static String join(CharSequence sınırlayıcı, Yinelenebilir öğeler) Birleştirilmiş bir dize döndürür.
10 boolean eşittir(Başkasına itiraz et) Verilen nesne ile dizenin eşitliğini kontrol eder.
on bir boolean isEmpty() String'in boş olup olmadığını kontrol eder.
12 Dize concat(Dize dizisi) Belirtilen dizeyi birleştirir.
13 Dize değiştirme (eski karakter, yeni karakter) Belirtilen char değerinin tüm oluşumlarını değiştirir.
14 Dize değiştirme(CharSequence eski, CharSequence yeni) Belirtilen CharSequence'ın tüm oluşumlarını değiştirir.
on beş static String equalsIgnoreCase(Başka bir dize) Başka bir dizeyi karşılaştırır. Davayı kontrol etmiyor.
16 Dize[] split(Dize normal ifadesi) Regex'le eşleşen bölünmüş bir dize döndürür.
17 Dize[] split(Dize düzenli ifadesi, int sınırı) Regex ve limitle eşleşen bölünmüş bir dize döndürür.
18 Dize stajyeri() Dahili bir dize döndürür.
19 int indexOf(int ch) Belirtilen karakter değeri dizinini döndürür.
yirmi int indexOf(int ch, int fromIndex) Verilen indeksten başlayarak belirtilen karakter değeri indeksini döndürür.
yirmi bir int indexOf(Dize alt dizesi) Belirtilen alt dize dizinini döndürür.
22 int indexOf(Dize alt dizesi, int fromIndex) Verilen dizinden başlayarak belirtilen alt dize dizinini döndürür.
23 String toLowerCase() Küçük harflerle bir dize döndürür.
24 String toLowerCase(Yerel ayar l) Belirtilen yerel ayarı kullanarak küçük harflerle bir dize döndürür.
25 String toUpperCase() Büyük harfle bir dize döndürür.
26 String toUpperCase(Yerel ayar l) Belirtilen yerel ayarı kullanarak büyük harfli bir dize döndürür.
27 Dize kırpma() Bu dizenin başlangıç ​​ve bitiş boşluklarını kaldırır.
28 static String valueOf(int value) Verilen türü string'e dönüştürür. Aşırı yüklenmiş bir yöntemdir.

Biliyor musunuz?
  • String nesneleri neden değişmez?
  • Değişmez bir sınıf nasıl oluşturulur?
  • Dize sabit havuzu nedir?
  • Herhangi bir dizeyi + (dize birleştirme operatörü) ile birleştirirseniz derleyici tarafından hangi kod yazılır?
  • StringBuffer ve StringBuilder sınıfı arasındaki fark nedir?

String Handling'de ne öğreneceğiz?
  • Dize Kavramı
  • Değişmez Dize
  • Dize Karşılaştırması
  • Dize Birleştirme
  • Alt Dize Kavramı
  • String sınıfı yöntemleri ve kullanımı
  • StringBuffer sınıfı
  • StringBuilder sınıfı
  • Değişmez sınıf oluşturma
  • toString() yöntemi
  • StringTokenizer sınıfı