字符串被定義為字符數組。字符數組和字符串之間的區別在於字符串以特殊字符 “\0” 結尾。字符數組可以轉換為字符串,反之亦然。在上一篇文章中,我們已經討論了如何轉換 string to a character array 。在本文中,我們將討論如何將字符數組轉換為字符串。
示例:
Input 1 : char s[] = { ‘g’, ‘e’, ‘e’, ‘k’, ‘s’, ‘f’, ‘o’, ‘r’, ‘g’, ‘e’, ‘e’, ‘k’, ‘s’ }
Output 1 : “geeksforgeeks”
Input 2 : char s[] = { ‘c’, ‘o’, ‘d’, ‘i’, ‘n’, ‘g’ }
Output 2 : “coding”
方法:
- 使用Arrays類的copyOf()方法
- 使用StringBuilder類
- 使用String類的valueOf()方法
- 使用String類的copyValueOf()方法
- 在流中使用Collector
現在讓我們詳細討論每種方法,並借助幹淨的 java 程序來實現它們。
方法一: Arrays copyOf()
給定的字符可以傳遞到 String constructor 中。默認情況下,使用 Arrays class 中的 Arrays.copyOf() 方法複製字符數組內容。
例子:
Java
// Java Program to Convert Character Array to String
// Using copyOf() method ofArrays() Class
// Importing required classes
import java.util.*;
// Main class
class GFG {
// Method 1
// To convert a character
// array to a string using the constructor
public static String toString(char[] a)
{
// Creating object of String class
String string = new String(a);
return string;
}
// Method 2
// Main driver method
public static void main(String args[])
{
// Declaring and initializing a character array
char s[] = { 'g', 'e', 'e', 'k', 's', 'f', 'o',
'r', 'g', 'e', 'e', 'k', 's' };
// Printing converted string from character array
System.out.println(toString(s));
}
}
輸出:
geeksforgeeks
方法2:使用StringBuilder類
將字符數組轉換為字符串的另一種方法是使用 StringBuilder class 。由於 StringBuilder 是一個可變類,因此,其想法是迭代字符數組並將每個字符附加到字符串末尾。最後,字符串包含字符的字符串形式。
例子:
Java
// Java Program to Convert Character Array to String
// Using StringBuilder Class
// Importing required classes
import java.util.*;
// Main class
public class GFG {
// Method 1
// To convert a character array to a string
// using the StringBuilder class
public static String toString(char[] a)
{
// Creating object of String class
StringBuilder sb = new StringBuilder();
// Creating a string using append() method
for (int i = 0; i < a.length; i++) {
sb.append(a[i]);
}
return sb.toString();
}
// Method 2
// Main driver method
public static void main(String args[])
{
// Declaring and initialzaing input character array
char s[] = { 'g', 'e', 'e', 'k', 's', 'f', 'o',
'r', 'g', 'e', 'e', 'k', 's' };
// Printing the string
// corresponding to character array
System.out.println(toString(s));
}
}
geeksforgeeks
方法三:使用String類的valueOf()方法
將字符數組轉換為字符串的另一種方法是使用 String 類中的 valueOf() 方法。此方法本質上將字符數組轉換為顯示數組中存在的字符的整個值的格式。該方法一般將int、float、double、char、boolean、甚至object轉換為字符串。在這裏,我們將通過將字符數組轉換為字符串來實現目標。
例子:
Java
// Java Program to Convert Character Array to String
// Using valueOf() method of String Class
// Importing required classes
import java.util.*;
// Main class
class GFG {
// Method 1
// To convert a character array to string
// using the valueOf() method
public static String toString(char[] a)
{
// Creating an object of String class
String string = String.valueOf(a);
return string;
}
// Method 2
// Main driver method
public static void main(String args[])
{
// Declaring and initializing input character array
char s[] = { 'g', 'e', 'e', 'k', 's', 'f', 'o',
'r', 'g', 'e', 'e', 'k', 's' };
// Print the corresponding string to
// character array
System.out.println(toString(s));
}
}
geeksforgeeks
方法四: Java.lang.String.copyValueOf()
複製字符數組中的內容並隨後對其進行修改,不會影響要返回的字符串,因此此方法還使我們能夠將字符數組轉換為字符串,從下麵提供的示例中可以更好地理解該字符串,如下所示。
例子:
Java
// Java Program to Convert Character Array to String
// Using copyValueOf() method of String Class
// Importing String class
import java.util.*;
// Main class
class GFG {
// Main driver method
public static void main(String[] args)
{
// Declaring and initializing input character array
char[] arr = { 'g', 'e', 'e', 'k', 's', 'f', 'o',
'r', 'g', 'e', 'e', 'k', 's' };
// Storing it in a string
// using copyValueOf() over string
String str = String.copyValueOf(arr);
// Printing the converted string corresponding
// character array
System.out.print(str);
}
}
geeksforgeeks
方法五: 在流中使用Collector
隨著java8中流的引入,我們立即在流中使用Collector來修改字符輸入數組元素,然後使用joining() method 並返回單個字符串並打印它。
例子:
Java
// Java Program to Convert a Character array to String
// Using Collectors in Streams in Java8
// Importing Collectos and Stream classes
// from java.util.stream package
import java.util.stream.Collectors;
import java.util.stream.Stream;
// Main class
class GFG {
// Main driver method
public static void main(String[] args)
{
// Custom input character array
char[] charr = { 'g', 'e', 'e', 'k', 's', 'f', 'o',
'r', 'g', 'e', 'e', 'k', 's' };
// Using collectors to collect array elements and
// later using joining method to return a single
// string
String str = Stream.of(charr)
.map(arr -> new String(arr))
.collect(Collectors.joining());
// Printing the stream received from Collectors
System.out.println(str);
}
}
geeksforgeeks
相關用法
- Java Character Array轉IntStream用法及代碼示例
- Java Character codePointAt()用法及代碼示例
- Java Character codePointBefore()用法及代碼示例
- Java Character codePointCount()用法及代碼示例
- Java Character compare()用法及代碼示例
- Java Character digit()用法及代碼示例
- Java Character equals()用法及代碼示例
- Java Character forDigit()用法及代碼示例
- Java Character getDirectionality()用法及代碼示例
- Java Character getName()用法及代碼示例
- Java Character getNumericValue()用法及代碼示例
- Java Character getType(char ch)用法及代碼示例
- Java Character hashCode()用法及代碼示例
- Java Character highSurrogate()用法及代碼示例
- Java Character isAlphabetic()用法及代碼示例
- Java Character isBmpCodePoint()用法及代碼示例
- Java Character isDefined()用法及代碼示例
- Java Character isHighSurrogate()用法及代碼示例
- Java Character isISOControl()用法及代碼示例
- Java Character isIdentifierIgnorable()用法及代碼示例
- Java Character isJavaIdentifierPart()用法及代碼示例
- Java Character isJavaIdentifierstart()用法及代碼示例
- Java Character isJavaLetterOrDigit()用法及代碼示例
- Java Character isLetter()用法及代碼示例
- Java Character isLetterOrDigit()用法及代碼示例
注:本文由純淨天空篩選整理自KaashyapMSK大神的英文原創作品 Convert Character Array to String in Java。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。