The Java virknes klases pievienošanās () metode atgriež virkni, kas savienota ar doto atdalītāju. String join() metodē katram elementam tiek kopēts atdalītājs. Join() metode ir iekļauta Java virknē kopš JDK 1.8.
Java String klasē ir divu veidu join() metodes.
Paraksts
Join() metodes paraksts vai sintakse ir norādīta zemāk:
public static String join(CharSequence delimiter, CharSequence... elements) and public static String join(CharSequence delimiter, Iterable elements)
Parametri
norobežotājs : char vērtība, kas jāpievieno katram elementam
int parseint
elementi : char vērtība, kas jāpievieno ar atdalītāju
Atgriežas
savienota virkne ar atdalītāju
Izņēmuma metieni
NullPointerException ja elements vai norobežotājs ir nulle.
Kopš
1.8
Iekšējā ieviešana
// 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() metodes piemērs
Faila nosaukums: StringJoinExample.java
public class StringJoinExample{ public static void main(String args[]){ String joinString1=String.join('-','welcome','to','javatpoint'); System.out.println(joinString1); }}Izmēģiniet to tūlīt
Izvade:
welcome-to-javatpoint
Java String join() metodes 2. piemērs
Mēs varam izmantot atdalītāju, lai formatētu virkni, kā mēs to darījām zemāk esošajā piemērā, lai parādītu datumu un laiku.
Faila nosaukums: 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); } }
Izvade:
savienojumi un savienojumu veidi
25/06/2018 12:10:10
Java String join() metodes 3. piemērs
Ja kā norobežotāju izmanto nulli, mēs iegūstam nulles rādītāja izņēmumu. Nākamais piemērs apstiprina to pašu.
Faila nosaukums: 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); } }
Izvade:
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)
Tomēr, ja elementi, kas jāpiestiprina ar norobežotāju, ir null tad mēs iegūstam neskaidrību. Tas ir tāpēc, ka ir divas pievienošanās () metodes un null ir pieņemams abiem pievienošanās () metodes veidiem. Ievērojiet šādu piemēru.
Faila nosaukums: StringJoinExample4.java
fmoviez
public class StringJoinExample4 { // main method public static void main(String argvs[]) { String str = null; str = String.join('India', null); System.out.println(str); } }
Izvade:
/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() metodes 4. piemērs
Ja elementiem, kas jāpievieno ar norobežotāju, ir dažas virknes, kurās daži no tiem ir nulles, tad nulles elementi tiek uzskatīti par normālu virkni, un mēs nesaņemam nekādu izņēmumu vai kļūdu. Sapratīsim to, izmantojot piemēru.
Faila nosaukums: 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); } }
Izvade:
null- wake up - eat - write content for JTP - eat - sleep