Java中String和char相互转换

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点我传送

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

影龙武

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值