在Java中,如何将一个字符串转换为字符或将字符转换为字符串?

62

有没有办法将char转换为String,或将只有一个字母的String转换为char(就像您可以将int转换为double,将double转换为int一样)?(请在可能的情况下链接到相关文档)。

如果我对文档上只有模糊认识的内容进行查找,该怎么做?

7个回答

98
char firstLetter = someString.charAt(0);
String oneLetter = String.valueOf(someChar);

您可以通过确定可能涉及的类来找到文档。 在这里,候选类是java.lang.Stringjava.lang.Character

您应该从以下方面开始熟悉:

  • java.lang中的基本类型包装器
  • java.util中的Java集合框架

通过教程逐步了解API也会有所帮助。


请查看相关的Javadoc文档以获取文档说明。 - objects

16

String.valueOf('X')将创建一个字符串"X"

"X".charAt(0)将给出字符'X'


13

由于没有人提到,将单个字符转换为字符串的另一种方法:

String s = Character.toString('X');
返回代表指定字符的字符串对象。结果是一个长度为1的字符串,仅由指定的字符组成。

2
String someString = "" + c;
char c = someString.charAt(0);

1
"" + 'c' 使用了自动装箱,不建议使用,因为它首先执行 "" + Character.toString('c') 然后是 "" + "c" 最后是 "c"。它执行了额外的 "" + "c" 操作,如果经常使用可能会减慢程序速度。 - user4157653

1
String g = "line";
//string to char
char c = g.charAt(0);
char[] c_arr = g.toCharArray();
//char to string
char[] charArray = {'a', 'b', 'c'};
String str = String.valueOf(charArray);
//(or iterate the charArray and append each character to str -> str+=charArray[i])

//或者 String s = new String(chararray);


该句话涉及编程相关内容,保留了HTML格式,不进行解释。

这并没有为现有的答案增添任何内容。 - Radiodef
@Radiodef - 他们加入了toCharArray(),这正是我在寻找的。当时没有其他答案提到它。 - ArtOfWarfare

-1

为了将字符串转换为字符

 String str = "abcd";
char arr [] = new char[len]; // len is the length of the array
arr = str.toCharArray();

1
你不必要地分配了一个长度为'len'的char数组,只是为了在下一行被覆盖。 - Josh Larson

-2

我喜欢做类似这样的事情:

String oneLetter = "" + someChar;

6
我非常不喜欢它,因为它不能传达意图。您不想进行任何添加或连接,因此 + 不是在这里使用的正确方法。 - Joachim Sauer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接