Java:char和String的相互转换
刷题时遇到。
String ---> char
String.charAt(int index 索引下标)
:(返回值为char)可以得到String中指定位置index的char。String.toCharArray()
:(返回值为char[])可以得到将包含整个String的char数组。
String a = "fdsjfd";
char a = a.charAt( 0 ); // a变量会得到f字符
char[] b = a.toCharArray(); //b数组:[f,d,s,j,f,d]
char ---> String
- 效率最高的方法
char a = 'c';
String b = String.valueOf( a );
- 将一个char数组转换成String
String s = String.valueOf(new char[]{'c', 'f' , 'g'});
String s = new String(new char[]{'c'});
- Character.toString(char)方法:实际上直接返回String.valueOf(char)
String s = Character.toString('c');
String s = new Character('c').toString();
- 效率最低的方法
String s = "" + 'c';
Java中的String Object的值实际上是不可变的,是一个final的变量。 所以我们每次对String做出任何改变,都是初始化了一个全新的String Object并将原来的变量指向了这个新String。
而Java对使用+运算符处理String相加进行了方法重载。 字符串直接相加连接实际上调用了如下方法:new StringBuilder().append("").append('c').toString();