A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 董俊霞 黑马帝   /  2011-7-20 16:22  /  1878 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Java中的字符串String类,有自己的方法,一旦创建之后就不能再改变,即使利用类似toUpperCase(),这样的 方法也不能改变String对象。那么要如何处理字符串呢?

3 个回复

倒序浏览
黑马网友  发表于 2011-7-20 16:39:05
沙发
有2种方法
1StringBuilder:类
StringBuilder类的一个对象代表了一组字符,和String相似,但是StringBuilder是可变的。你可以构建一个StringBuilder对象,调用其方法,然后用toString方法生成一个代表相同字符序列的String。StringBuilder能插入,替代和修改一个特定的StringBuilder。它被认为是StringBuffer的一个简单替换,在字符串缓冲区被单线程占用的时候建议用StringBuilder,多线程则用StringBuffer。详细的方法参见Java API。

2:StringBuffer类
线程安全的可变字符串序列,通过某些方法调用可以改变该序列的长度和内容,可用于多个线程同步。
主要方法是Append()和insert().

评分

参与人数 1技术分 +1 收起 理由
老罗 + 1 聪哥,很不错。

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-7-20 16:50:06
藤椅
Java中的字符串是一个类,String类,有自己的方法,一旦创建之后就不能再改变,即使利用类似toUpperCase(),这样的 方法也不能改变String对象。字符串的不变性是Java虚拟机的一个特性。而且,String类被声明为final,所以不能创建它的子类。

1、既然字符串不能被改变,那么我们要如何处理字符串呢?下面介绍StringBuilder类:StringBuilder类的一个对象代表了一组字符,和String相似,但是StringBuilder是可变的。你可以构建一个StringBuilder对象,调用其方法,然后用toString方法生成一个代表相同字符序列的String。StringBuilder能插入,替代和修改一个特定的StringBuilder。它被认为是StringBuffer的一个简单替换,在字符串缓冲区被单线程占用的时候建议用StringBuilder,多线程则用StringBuffer。详细的方法参见Java API。

2、下面介绍StringBuffer类线程安全的可变字符串序列,通过某些方法调用可以改变该序列的长度和内容,可用于多个线程同步。主要方法是insert()和Append().
回复 使用道具 举报
黑马网友  发表于 2011-7-20 18:51:42
板凳
StringBuffer类用于封装内容可以改变的字符串,可以将其他各种类型的数据增加插入到字符串中,也可以将字符串中的字符顺序进行颠倒,一旦通过StringBuffer生成了最终想要的字符串就应该使用StringBuffer的toString方法将其转换成String类型。随后就可以使用String类的办法来操作这个字符串。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马