char 배열이 있습니다.
char[] a = {'h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd'};
내 현재 솔루션은
String b = new String(a);
그러나 분명히 이것을하는 더 좋은 방법이 있습니까?
char 배열이 있습니다.
char[] a = {'h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd'};
내 현재 솔루션은
String b = new String(a);
그러나 분명히 이것을하는 더 좋은 방법이 있습니까?
답변:
String text = String.copyValueOf(data);
또는
String text = String.valueOf(data);
논란의 여지없이 더 좋습니다 ( new String
통화를 캡슐화합니다 ).
String(char[])
또는 그 변형을 호출 합니다. 그리고 복사 부분은 내부에서 수행됩니다 String(char[])
. 이것은 다른 valueOf
방법들 과의 대칭 외에 직접 호출에 이점이 없다 .
String
호환되지 않는 방식으로 변경 및 / 또는 향상 될 가능성이 있거나 런타임에 여러 경쟁 구현을 선택할 수있는 경우 정적 팩토리 메소드가 의미가 있습니다. 이 같은 낮은 수준의 일이 발생하지 않습니다 String
. 그러므로 제 전제는 : 가장 큰 망치가 아닌 가장 작은 망치를 사용하십시오.
CharSequence
인터페이스 를 만들어야한다는 사실은 "문자열과 같은 낮은 수준의 물건으로는 발생하지 않는다"는 결함을 보여줍니다. 그들은 없을 것입니다.
String str = "wwwwww3333dfevvv";
char[] c = str.toCharArray();
문자 배열을 String으로 변환하는 방법에는 두 가지가 있습니다.
Arrays.toString(c);
문자열을 반환합니다 [w, w, w, w, w, w, 3, 3, 3, 3, d, f, e, v, v, v]
.
과:
String.valueOf(c)
문자열을 반환합니다 wwwwww3333dfevvv
.
요약하자면Arrays.toString(c)
, "[w, w, w, w, w, w, 3, 3, 3, 3, d, f, e, v, v, v]"
대신에 주의를 기울여야합니다 "wwwwww3333dfevvv"
.
String.valueOf
방법 을 사용할 수 있습니다 .
예를 들어
char[] a = {'h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd'};
String b = String.valueOf(a);
System.out.println("Char Array back to String is: " + b);
char 배열 대 문자열에 대한 자세한 내용은 아래 링크를 참조하십시오.
https://docs.oracle.com/javase/7/docs/api/java/lang/String.html
https://www.flowerbrackets.com/convert-char-array-to-string-java/
package naresh.java;
public class TestDoubleString {
public static void main(String args[]){
String str="abbcccddef";
char charArray[]=str.toCharArray();
int len=charArray.length;
for(int i=0;i<len;i++){
//if i th one and i+1 th character are same then update the charArray
try{
if(charArray[i]==charArray[i+1]){
charArray[i]='0';
}}
catch(Exception e){
System.out.println("Exception");
}
}//finally printing final character string
for(int k=0;k<charArray.length;k++){
if(charArray[k]!='0'){
System.out.println(charArray[k]);
} }
}
}
//Given Character Array
char[] a = {'h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd'};
//Converting Character Array to String using String funtion
System.out.println(String.valueOf(a));
//OUTPUT : hello world
Java 8 Stream 함수를 사용하여 지정된 배열 유형을 문자열로 변환
String stringValue =
Arrays.stream(new char[][]{a}).map(String::valueOf).collect(Collectors.joining());