私は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に変換するには、2つの方法があります。
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);
文字配列から文字配列への詳細については、以下のリンクを参照できます
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ストリーム関数を使用して、特定の配列型を文字列に変換する
String stringValue =
Arrays.stream(new char[][]{a}).map(String::valueOf).collect(Collectors.joining());
以下のようなString.valueを使用するだけです。
private static void h() {
String helloWorld = "helloWorld";
System.out.println(helloWorld);
char [] charArr = helloWorld.toCharArray();
System.out.println(String.valueOf(charArr));
}