1)String是一个引用类型,一旦字符串被创建,就不能修改

  例如:

    String a="AAA";

    String b=a;

  a与b值相同,但不是同一个对象;

  每次使用 System.String 类中的方法时,都要在内存中创建一个新的字符串对象,继而为该新对象分配新的空间。在对字符串修改比较频繁时,系统内存损耗就会变大。

2)StringBuilder是一个可变的字符序列,StringBuilder类型的对象可以修改,它指向char结构数组,使用StringBuilder可以提升性能。

3)StringBuilder常用方法

  1:Append():将文本或对象的字符串表示形式添加到当前StringBuilder对象的字符串结尾处

      StringBuilder sb = new StringBuilder("我要出去购物!");

      sb.Append("今天太阳很好,");

      Console.WriteLine(sb);

  2:AppendFormat():实现了IFormatTable接口,可接受格式化部分描述的标准格式字符串,使用此方法可以自定义变量并把值追加到StringBuilder后边

      int MyInt = 10;

      StringBuilder MyStringBuilder = new StringBuilder("The Money is ");

      MyStringBuilder.AppendFormat("{0:C} ", MyInt);

      Console.WriteLine(MyStringBuilder);

      The Money is $25.00;

  3:Remove():可以使用 Remove 方法从当前 StringBuilder 中移除指定数量的字符,移除过程从指定的从零开始的索引处开始。

      StringBuilder MyStringBuilder = new StringBuilder("Hello World!");

      MyStringBuilder.Remove(5,7);

      Console.WriteLine(MyStringBuilder);

  4:Replace():使用 Replace 方法,可以用另一个指定的字符来替换 StringBuilder 对象内的字符。

      StringBuilder MyStringBuilder = new StringBuilder("Hello World!");

      MyStringBuilder.Replace('!', '?');

      Console.WriteLine(MyStringBuilder)

  5:insert():Insert 方法将字符串或对象添加到当前 StringBuilder 中的指定位置。

      StringBuilder MyStringBuilder = new StringBuilder("Hello World!");

      MyStringBuilder.Insert(6,"Beautiful ");

      Console.WriteLine(MyStringBuilder)

string和stringbuilder的更多相关文章

  1. java中 String StringBuffer StringBuilder的区别

    * String类是不可变类,只要对String进行修改,都会导致新的对象生成. * StringBuffer和StringBuilder都是可变类,任何对字符串的改变都不会产生新的对象. 在实际使用 ...

  2. String,StringBuffer,StringBuilder的区别

    public static void main(String[] args) { String str = new String("hello...."); StringBuffe ...

  3. 探秘Java中的String、StringBuilder以及StringBuffer

    探秘Java中String.StringBuilder以及StringBuffer 相信String这个类是Java中使用得最频繁的类之一,并且又是各大公司面试喜欢问 到的地方,今天就来和大家一起学习 ...

  4. String PK StringBuilder,传说就是传说,只有动手实验,才能得出确定的答案

    本机测试结果如下: 大部分情况下,string 性能并不比StringBuilder差,只有特殊情况才出现差异,并非 如前面有些朋友测试的结果哪样,只要使用StringBuilder 就一定比Stri ...

  5. (原)String、StringBuilder、StringBuffer作为形参

    今天在刷一道算法题时,突然遇到StringBuilder作为形参和String作为形参时,最终得出来的结果不同.故尝试了几个demo看看它们之间的区别. 当String类型作为参数时, public ...

  6. 关于String StringBuffer StringBuilder

    0. String对象的创建       1.关于类对象的创建,很普通的一种方式就是利用构造器,String类也不例外:String s=new String("Hello world&qu ...

  7. string与stringBuilder的效率与内存占用实测

    using UnityEngine; using System.Diagnostics; using System.Text; using UnityEngine.UI; public class s ...

  8. C#基础知识系列三(类和结构体、String和StringBuilder、equals和==)

    前言 这一节主要来了解一下类和结构体之间的异同点.以及针对String和StringBuilder的用法.equals和==,其实可以看出很多地方都用到了上一节的值类型和引用类型.堆栈和装箱拆箱操作吧 ...

  9. 探秘Java中String、StringBuilder以及StringBuffer

    探秘Java中String.StringBuilder以及StringBuffer 相信String这个类是Java中使用得最频繁的类之一,并且又是各大公司面试喜欢问 到的地方,今天就来和大家一起学习 ...

  10. String、StringBuilder

    public class testString{ public static void main(String[] args) { String a="cool"; String ...

随机推荐

  1. 转载 https协议和http协议的区别

    转载原地址: http://aajs800.blog.51cto.com/519255/109555 什么是HTTPS: HTTPS(Secure Hypertext Transfer Protoco ...

  2. 如何获得JVM执行过程中调用的方法名

    这应该分成两个问题,1.如何获取参数值. 2.如何获取参数名, 1.如何获取参数值.这个是运行时的数据,你程序处理下获取就好了.比如写一个代理 2.参数名是在编译的时候就写入到class文件的.,而这 ...

  3. Linux安装JDK详细步骤

    Linux安装JDK步骤 1.先从网上下载jdk(jdk-7u1-linux-i586.rpm),下载地址:http://www.oracle.com/technetwork/java/javase/ ...

  4. 【转】于request.getSession(true/false/null)的区别

    http://blog.csdn.net/gaolinwu/article/details/7285783 关于request.getSession(true/false/null)的区别 一.需求原 ...

  5. Windows 7 EXE图标丢失修复方法

    有过Win7下的一些EXE文件图标莫名奇妙丢失,但功能却正常的情况吗?这是图标缓存的问题,应该是Win7的bug. 在命令提示符下输入下列命令即可恢复. 以下是代码片段: taskkill /im e ...

  6. 【剑指Offer学习】【全部面试题汇总】

    剑指Offer学习 剑指Offer这本书已经学习完了.从中也学习到了不少的东西,如今做一个总的文件夹.供自已和大家一起參考.学如逆水行舟.不进则退.仅仅有不断地学习才干跟上时候.跟得上技术的潮流! 全 ...

  7. Js_分页

    public ActionResult Index(int? pageIndex) { List<string> data = new List<string>(); ; i ...

  8. nginx---reference

    nginx (pronounced "engine x") is a free open source web server written by Igor Sysoev, a R ...

  9. linux上安装ftp

    1.安装 rpm -ivh vsftpd-2.2.2-11.el6_4.1.x86_64.rpm 2.启动 service vsftpd start 3.连接 windows 命令行输入 ftp ww ...

  10. (转载)c语言指针学习

    前言 近期俄罗斯的陨石.四月的血月.五月北京的飞雪以及天朝各种血腥和混乱,给人一种不详的预感.佛祖说的末法时期,五浊恶世 ,十恶之世,人再无心法约束,道德沦丧,和现在正好吻合.尤其是在天朝,空气,水, ...