String转为char的方法
方法一(String数组转为char数组)
-
使用String里的toCharArray()方法(返回值为char[])可以得到将包含整个String的char数组。这样我们就能够使用数组下标来访问string中的任意位置的元素。
public static void main(String[] args) { String s = "abcd"; char [] chars = s.toCharArray(); System.out.println(chars[0]);//结果为a }
方法二(利用String的索引取单个字符返回char)
-
使用方法 charAt (int index) 获取指定索引位置的字符,返回值为char类型。
public static void main(String[] args) { String s = "abcd"; char c = s.charAt(0); System.out.println(c);//结果为a }
char转String的方法
方法一(效率最高的方法)
- String s = String.valueOf(char)
public static void main(String[] args) { char c = 'a'; System.out.println(c); //输出a String s1 = String.valueOf(c); System.out.println(s1); //输出a String s2 = String.valueOf('a'); System.out.println(s2); //输出a String s3 = String.valueOf('c'); System.out.println(s3); //输出c }
- 也可以把整个char数组传进去转换为String
方法二
-
使用Character里的toString()方法。Character.toString(char)方法实际上直接返回String.valueOf(char)
public static void main(String[] args) { char c = 'a'; System.out.println(c); //输出a String s = Character.toString(c); System.out.println(s); //输出a }
-
也可以把整个char数组传进去转换为String
方法三(效率最低的方法)
-
String s = “” + ‘c’;直接加一个空串
public static void main(String[] args) { char c = 'a'; System.out.println(c); //输出a String s = ""+ c; System.out.println(s); //输出a }
// 虽然这个方法很简单,但这是效率最低的方法
// Java中的String Object的值实际上是不可变的,是一个final的变量。
// 所以我们每次对String做出任何改变,都是初始化了一个全新的String Object并将原来的变量指向了这个新String。
// 而Java对使用+运算符处理String相加进行了方法重载。
// 字符串直接相加连接实际上调用了如下方法:
// new StringBuilder().append("").append(‘c’).toString();
————————————————
版权声明:本文为CSDN博主「恰个小茶茶」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_41550480/article/details/88623216
方法四
-
利用String初始化的方法String s = new String(new char[]{‘c’});括号内参数可以为空。这种方法只适用于char数组,单个char字符也还是要用数组。
public static void main(String[] args) { //下面是两种赋值初始化方式 //char [] chars = {'a','b','c'}; char [] chars = new char[] {'a','b','c'}; System.out.println(chars); //输出abc //这种方法只适用于char数组,不能放单个的char字符进去 String s = new String(chars); System.out.println(s); //输出abc }
其他推荐
Java中char和int相互转换
Java中String和int相互转换及速度比较
速度比较参考博客https://blog.csdn.net/yaokai_assultmaster/article/details/52082763点我传送