服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - Java中字符数组、String类、StringBuffer三者之间相互转换

Java中字符数组、String类、StringBuffer三者之间相互转换

2021-05-04 11:48功夫 熊猫 Java教程

这篇文章主要介绍了Java中字符数组、String类、StringBuffer三者之间相互转换,需要的朋友可以参考下

一、StringBuffer与String的相互转换

1、将StringBuffer转换成String

StringBuffer类成员toString函数可将其转换成String类型。

?
1
2
StringBuffer buffer = newStringBuffer(“abcd”);
String str = buffer.toString();

通过String类中的构造将一个StringBuffer类转换为String类:String(StringBuffer buffer)

?
1
2
StringBuffer buffer = newStringBuffer(“abcd”);
String str = newString(buffer);

2、将String转换成StringBuffer

方式一:利用构造函数

?
1
2
String str=“Hello World.”;
StringBuffer buffer = new StringBuffer(str);

方式二:调用append函数

?
1
2
3
String str=“Hello World.”;
StringBuffer buffer = new StringBuffer();
buffer.append(str);

二、String与字符数组的相互转换

1、将String转换成字符数组

String类成员toCharArray函数可将其转换成字符数组。

?
1
2
String str = “Hello World.”;// 创建一个String对象
char[] ch = str.toCharArray();// 再调用String对象的toCharArray函数转换成字

2、将字符数组转换成String

方法1:利用String类的构造函数,直接在构造String时完成转换。

?
1
2
char[] data = {'a', 'b', 'c'};
String str = new String(data);

方法2:调用String类的valueOf函数转换。

?
1
String.valueOf(char[] ch);

三、将StringBuffer与字符数组的相互转换

1、将StringBuffer转换成字符数组

在Java中不支持直接从StringBuffer转换成字符数组。而是先将StringBuffer转换成String,

然后由String调用toCharArray函数转换成字符数组。

?
1
2
3
StringBuffer stringBuffer = new StringBuffer(“Hello World.”);
String str = stringBuffer.toString();// 先将StringBuffer对象转换成String对象
char[] ch = str.toCharArray();// 再调用String对象的toCharArray函数转换成字符数组

2、将字符数组转换成StringBuffer

与将StringBuffer转换成字符数组类似,需要先将字符数组转换成String,然后再由String转换成StringBuffer。

?
1
2
3
4
5
char[] data = {'H', 'e', 'l','l', 'o', 'd'};
String str = new String();//或者直接调用构造方法:String str = new String(data);
str = String.valueOf(data);//调用String类的valueOf函数将字符数组转换成String
StringBuffer buffer = new StringBuffer();
buffer = buffer.append(str);//调用append函数将String转换成Stringbuffer

总结

以上所述是小编给大家介绍的Java中字符数组、String类、StringBuffer三者之间相互转换,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!

原文链接:https://www.cnblogs.com/kungfupanda/p/9066990.html

延伸 · 阅读

精彩推荐