黑马程序员技术交流社区

标题: 比较字符串的方法 [打印本页]

作者: 【⑨】№①妮    时间: 2013-12-20 09:08
标题: 比较字符串的方法
本帖最后由 【⑨】№①妮 于 2013-12-21 20:56 编辑

有几种比较字符串的方法?
作者: 一年之后    时间: 2013-12-20 09:21
String代表一个字符串,一旦建立对象是不可改变的。

StringBuffer是字符串缓冲期。
         提高字符串的操作效率,利用数组做缓冲,可以理解,StringBuffer是一个容器。
而且StringBuffer是可变。
作者: Coding    时间: 2013-12-20 09:29
String 对象是不可改变的。每次使用 System.String 类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。在需要对字符串执行重复修改的情况下,与创建新的 String 对象相关的系统开销可能会非常昂贵。如果要修改字符串而不创建新的对象,则可以使用 System.Text.StringBuilder 类。例如,当在一个循环中将许多字符串连接在一起时,使用 StringBuilder 类可以提升性能。string的字符串操作会频繁的申请内存。
而StringBuilder则不会这样,他会自动的向后扩展,不需要频繁的申请内存。
作者: 伱涐的距离    时间: 2013-12-20 09:40
string类的实例说明为:
   String s=”a”;
   s=s+”a”;
  StringBuilder实例说明为:
  Stringbuilder sb=new stringbuilder(“a”);
  Sb.Append(“b”);
所以System.String是不可变的字符串。System.StringBuilder存放了一个可变的字符串,并提供了一些对这个字符串修改的方法。
作者: §風過無痕§    时间: 2013-12-20 10:22
由String对象的不可变性可知    每次使用String类的一个方法时  都要在内存中创建一个新的字符串对象   就要为这个新对象分配新的内存空间   当大量进行字符串操作的时候(譬如:拼接字符串    修改)     此时需要的系统开销就会非常大!      因此:如果仅仅是修改字符串 拼接字符串  而不是创建新的对象时则建议使用StringBuilder类

String与StringBuilder分别可以在不同的情况下使用   其性能也相对是大有区别的!!

StringBuilder 是动态对象,允许自动扩充它所封装的字符串中的字符数

各有各的优势  也各有各的不足!

作者: 风叶漂    时间: 2013-12-20 10:43
用build效率方面很高,很快,而且节约内存
作者: 曹华    时间: 2013-12-21 18:48
我给你复制下来了,我是没那么专业。
String.Compare
比较两个字符串的值。 返回整数值。
String.CompareOrdinal
比较两个字符串而不考虑本地区域性。 返回整数值。
String.CompareTo
将当前字符串对象与另一个字符串进行比较。 返回整数值。
String.StartsWith
确定一个字符串是否以传递的字符串开头。 返回布尔值。
String.EndsWith
确定一个字符串是否以传递的字符串结尾。 返回布尔值。
String.Equals
确定两个字符串是否相同。 返回布尔值。
String.IndexOf
返回字符或字符串的索引位置,索引位置从正在检查的字符串的开头开始。 返回整数值。
String.LastIndexOf
返回字符或字符串的索引位置,索引位置从正在检查的字符串的结尾开始。 返回整数值。
网址是:http://msdn.microsoft.com/zh-cn/library/fbh501kz.aspx




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2