Java String sınıfı join() yöntemi belirli bir sınırlayıcıyla birleştirilmiş bir dize döndürür. String join() yönteminde sınırlayıcı her öğe için kopyalanır. join() yöntemi, JDK 1.8'den beri Java dizesine dahil edilmiştir.
Java String sınıfında iki tür join() yöntemi vardır.
İmza
join() yönteminin imzası veya sözdizimi aşağıda verilmiştir:
public static String join(CharSequence delimiter, CharSequence... elements) and public static String join(CharSequence delimiter, Iterable elements)
Parametreler
sınırlayıcı : her öğeye eklenecek karakter değeri
elementler : sınırlayıcıya eklenecek karakter değeri
İadeler
sınırlayıcıyla birleştirilmiş dize
İstisna Atar
NullPointerException öğe veya sınırlayıcı boşsa.
O zamandan beri
1.8
Dahili Uygulama
// type - 1 public static String join(CharSequence delimiter, CharSequence... elements) { Objects.requireNonNull(elements); Objects.requireNonNull(delimiter); StringJoiner jnr = new StringJoiner(delimiter); for (CharSequence c: elements) { jnr.add(c); } return jnr.toString(); }
// type - 2 public static String join(CharSequence delimiter, CharSequence... elements) { Objects.requireNonNull(elements); Objects.requireNonNull(delimiter); StringJoiner jnr = new StringJoiner(delimiter); for (CharSequence c: elements) { jnr.add(c); } return jnr.toString(); } public static String join(CharSequence delimiter, Iterable elements) { Objects.requireNonNull(elements); Objects.requireNonNull(delimiter); StringJoiner jnr = new StringJoiner(delimiter); for (CharSequence c: elements) { joiner.add(c); } return jnr.toString(); }
Java String join() Yöntem Örneği
Dosya adı: StringJoinExample.java
public class StringJoinExample{ public static void main(String args[]){ String joinString1=String.join('-','welcome','to','javatpoint'); System.out.println(joinString1); }}Şimdi Test Edin
Çıktı:
welcome-to-javatpoint
Java String join() Yöntem Örnek 2
Aşağıdaki örnekte tarih ve saati göstermek için yaptığımız gibi dizeyi biçimlendirmek için bir sınırlayıcı kullanabiliriz.
Dosya adı: StringJoinExample2.java
public class StringJoinExample2 { public static void main(String[] args) { String date = String.join('/','25','06','2018'); System.out.print(date); String time = String.join(':', '12','10','10'); System.out.println(' '+time); } }
Çıktı:
25/06/2018 12:10:10
Java String join() Yöntem Örnek 3
Sınırlayıcı olarak null kullanılması durumunda, boş gösterici istisnasını alırız. Aşağıdaki örnek de aynısını doğrulamaktadır.
Dosya adı: StringJoinExample3.java
public class StringJoinExample3 { // main method public static void main(String argvs[]) { String str = null; str = String.join(null, 'abc', 'bcd', 'apple'); System.out.println(str); } }
Çıktı:
Exception in thread 'main' java.lang.NullPointerException at java.base/java.util.Objects.requireNonNull(Objects.java:221) at java.base/java.lang.String.join(String.java:2393) at StringJoinExample3.main(StringJoinExample3.java:7)
Ancak sınırlayıcıya eklenmesi gereken öğeler hükümsüz o zaman belirsizliği anlıyoruz. Bunun nedeni iki join() yönteminin olmasıdır ve hükümsüz join() yönteminin her iki türü için de kabul edilebilir. Aşağıdaki örneği inceleyin.
Dosya adı: StringJoinExample4.java
public class StringJoinExample4 { // main method public static void main(String argvs[]) { String str = null; str = String.join('India', null); System.out.println(str); } }
Çıktı:
/StringJoinExample4.java:7: error: reference to join is ambiguous str = String.join('India', null); ^ both method join(CharSequence,CharSequence...) in String and method join(CharSequence,Iterable) in String match /StringJoinExample4.java:7: warning: non-varargs call of varargs method with inexact argument type for last parameter; str = String.join('India', null); ^ cast to CharSequence for a varargs call cast to CharSequence[] for a non-varargs call and to suppress this warning 1 error 1 warning
Java String join() Yöntem Örneği 4
Sınırlayıcıya eklenmesi gereken öğelerde, birkaçı boş olan bazı dizeler varsa, o zaman boş öğeler normal bir dize olarak kabul edilir ve herhangi bir istisna veya hata almayız. Bir örnek üzerinden anlayalım.
Dosya adı: StringJoinExample5.java
public class StringJoinExample5 { // main method public static void main(String argvs[]) { String str = null; // one of the element is null however it will be treated as normal string str = String.join('-', null, ' wake up ', ' eat ', ' write content for JTP ', ' eat ', ' sleep '); System.out.println(str); } }
Çıktı:
null- wake up - eat - write content for JTP - eat - sleep