将单个char转换为CharSequence的最有效方法

时间:2011-07-06 21:13:25

标签: java android string char charsequence

将单个字符传递给期望CharSequence的方法的最有效方法是什么?

这就是我所拥有的:

textView.setText(new String(new char[] {c} ));

根据the answers given here,在输入是字符数组的情况下,这是一种明智的方法。我想知道是否有一个偷偷摸摸的捷径我可以应用于单一案例。

6 个答案:

答案 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);