CharSequenceを期待するメソッドに単一のcharを渡す最も効率的な方法は何ですか?
これは私が持っているものです:
textView.setText(new String(new char[] {c} ));
ここで与えられた答え によると、これは入力が文字配列である場合の賢明な方法です。 1文字の場合に適用できる卑劣なショートカットがあるかどうか疑問に思っていました。
textView.setText(String.valueOf(c))
Character.toString(char c)
メソッドの実装を見ると、使用するコードとほぼ同じコードを使用していることがわかります。
_ public String toString() {
char buf[] = {value};
return String.valueOf(buf);
}
_
読みやすくするために、Character.toString( c )
を使用する必要があります。
別の効率的な方法はおそらく
_new StringBuilder(1).append(c);
_
Javadocによると、_+
_演算子を使用するよりも明らかに効率的です。
Java言語は、文字列連結演算子(+)、および他のオブジェクトの文字列への変換を特別にサポートしています。文字列連結は、
StringBuilder
(またはStringBuffer
)クラスとその追加メソッド
少数の文字がある場合に取得できる最もコンパクトなCharSequenceは、CharBufferです。これをchar値で初期化するには:
CharBuffer.wrap(new char[]{c});
そうは言っても、文字列を使用すると、かなり読みやすく、操作が簡単になります。
可能な限り少ないタイプの文字の短縮形:
c+""; // where c is a char
略さずに:
textView.setText(c+"");
連結なしのソリューションは次のとおりです。
Character.valueOf(c).toString();
char c = 'y';
textView.setText(""+c);