将单个字符传递给期望CharSequence的方法的最有效方法是什么?
这就是我所拥有的:
textView.setText(new String(new char[] {c} ));
根据the answers given here,在输入是字符数组的情况下,这是一种明智的方法。我想知道是否有一个偷偷摸摸的捷径我可以应用于单一案例。
答案 0 :(得分:42)
textView.setText(String.valueOf(c))
答案 1 :(得分:10)
查看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
)类及其追加方法实现的
答案 2 :(得分:4)
当你有少量字符时,你可以得到的最紧凑的CharSequence是CharBuffer。要使用您的char值初始化它:
CharBuffer.wrap(new char[]{c});
话虽如此,使用字符串更易读,更容易使用。
答案 3 :(得分:3)
速记,与可能的最少类型字符一样:
c+""; // where c is a char
完整:
textView.setText(c+"");
答案 4 :(得分:2)
没有连接的解决方案是:
Character.valueOf(c).toString();
答案 5 :(得分:1)
char c = 'y';
textView.setText(""+c);