Heute werden wir uns damit beschäftigen, wie man ein Java String Array in einen String konvertiert. Manchmal müssen wir ein String Array aus bestimmten Anforderungen in einen String umwandeln. Zum Beispiel möchten wir den Inhalt des Arrays protokollieren oder die Werte des String Arrays in einen String umwandeln und andere Methoden aufrufen.
Java String Array to String
Meistens rufen wir die toString()
-Methode eines Objekts auf, um die String-Repräsentation zu erhalten. Schauen wir uns an, was passiert, wenn wir die toString()
-Methode auf ein String Array in Java aufrufen.
package com.journaldev.util;
public class JavaStringArrayToString {
public static void main(String[] args) {
String[] strArr = new String[] {"1","2","3"};
String str = strArr.toString();
System.out.println("Java String array to String = "+str);
}
}
Das folgende Bild zeigt die Ausgabe des obigen Programms. Der Grund für die obige Ausgabe liegt darin, dass der Aufruf von
toString()
auf das Array zur Object-Superklasse geht, wo es wie folgt implementiert ist.
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
Java String Array to String Beispiel
So wie man einen String-Array in Java in einen String umwandelt. Wir können die Arrays.toString
-Methode verwenden, die die toString()-Methode auf einzelnen Elementen aufruft und StringBuilder verwendet, um einen String zu erstellen.
public static String toString(Object[] a) {
if (a == null)
return "null";
int iMax = a.length - 1;
if (iMax == -1)
return "[]";
StringBuilder b = new StringBuilder();
b.append('[');
for (int i = 0; ; i++) {
b.append(String.valueOf(a[i]));
if (i == iMax)
return b.append(']').toString();
b.append(", ");
}
}
Wir können auch unsere eigene Methode erstellen, um einen String-Array in einen String umzuwandeln, wenn wir bestimmte Formatanforderungen haben. Hier ist ein einfaches Programm, das diese Methoden in Aktion zeigt und die erzeugte Ausgabe.
package com.journaldev.util;
import java.util.Arrays;
public class JavaStringArrayToString {
public static void main(String[] args) {
String[] strArr = new String[] { "1", "2", "3" };
String str = Arrays.toString(strArr);
System.out.println("Java String array to String = " + str);
str = convertStringArrayToString(strArr, ",");
System.out.println("Convert Java String array to String = " + str);
}
private static String convertStringArrayToString(String[] strArr, String delimiter) {
StringBuilder sb = new StringBuilder();
for (String str : strArr)
sb.append(str).append(delimiter);
return sb.substring(0, sb.length() - 1);
}
}
Wenn wir die
toString()
-Methode des Arrays verwenden, liefert sie nutzlose Daten. Die Java-Arrays-Klasse bietet toString(Object[] objArr)
an, die über die Elemente des Arrays iteriert und ihre toString()
-Implementierung verwendet, um die Zeichenfolgendarstellung des Arrays zurückzugeben. Deshalb, wenn wir diese Funktion verwenden, können wir sehen, dass sie den Arrayinhalt druckt und für Protokollzwecke verwendet werden kann. Wenn Sie alle String-Elemente im String-Array mit einem bestimmten Trennzeichen kombinieren möchten, können Sie die convertStringArrayToString(String[] strArr, String delimiter)
-Methode verwenden, die den String nach dem Kombinieren zurückgibt.
Java Array to String Beispiel
Nun erweitern wir unser String-Array-zu-String-Beispiel, um es mit anderen benutzerdefinierten Klassen zu verwenden. Hier ist die Implementierung.
package com.journaldev.util;
import java.util.Arrays;
public class JavaArrayToString {
public static void main(String[] args) {
A[] arr = { new A("1"), new A("2"), new A("3") };
// Standard-`toString()`-Methode
System.out.println(arr.toString());
// Verwendung von `Arrays.toString()` zum Drucken des Inhalts des Objektarrays
System.out.println(Arrays.toString(arr));
// Konvertierung von Objektarray zu String
System.out.println(convertObjectArrayToString(arr, ","));
}
private static String convertObjectArrayToString(Object[] arr, String delimiter) {
StringBuilder sb = new StringBuilder();
for (Object obj : arr)
sb.append(obj.toString()).append(delimiter);
return sb.substring(0, sb.length() - 1);
}
}
class A {
private String name;
public A(String name) {
this.name = name;
}
@Override
public String toString() {
System.out.println("A toString() method called!!");
return this.name;
}
}
Die Ausgabe des obigen Java-Array-zu-String-Beispielprogramms ist:
[Lcom.journaldev.util.A;@7852e922
A toString() method called!!
A toString() method called!!
A toString() method called!!
[1, 2, 3]
A toString() method called!!
A toString() method called!!
A toString() method called!!
1,2,3
Wir haben also gesehen, wie man ein Java-String-Array in einen String konvertiert und es dann erweitert, um es mit benutzerdefinierten Objekten zu verwenden. Das ist alles zur Konvertierung eines Java-Arrays in einen String.
Sie können weitere Core-Java-Beispiele aus unserem GitHub-Repository überprüfen.
Source:
https://www.digitalocean.com/community/tutorials/java-string-array-to-string