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. [OC Foundation框架 - 12] NSNumber

    1.概念 NSArray,NSDictionary只能放OC对象,不能放入基本数据类型 必须使用包装类NSNumber,把基本数据类型包装成OC对象 不支持自动包装解包   void number() ...

  2. [Objective-c 基础 - 2.11] SEL数据类型

    A.概念 1.SEL类型代表方法 2.每个方法都有一个对应的SEL类型的数据 3.实例对象调用方法 (1)编译器会把类的方法包装成SEL类型的数据, (2)根据SEL数据找到方法地址,缓存此地址 (3 ...

  3. JLink 在J-Flash ARM批处理自动下载

    "C:\Program Files\SEGGER\JLinkARM_V420c\jflasharm.exe" -openprj.\stm32f100c8.jflash -open. ...

  4. Integer的缓存机制

    Java api 中为了提高效率,减少资源的浪费,对内部的Integer类进行了缓存的优化,通俗的说就是把-127至128这个范围内的数提前加载到内存,当我们需要的时候,如果正好在这个范围之内,就会直 ...

  5. HTML5随笔

    1 首先介绍一下html5,以及为什么用html5, HTML5是HTML最新的修订版本,2014年10月由万维网联盟(W3C)完成标准制定. HTML5的设计目的是为了在移动设备上支持多媒体.HTM ...

  6. class ResultServletContextListener implements ServletContextListener

    package com.management.spring; import java.io.BufferedReader; import java.io.IOException; import jav ...

  7. js 类似php中foreach的方法

    参考下面实例 <script>var arr =  {    'a' : '111111',    'b' : '222222',    'c' : '333333'};for(var k ...

  8. C#_LINQ(LINQ to Entities)

    LINQ to Entities 是 LINQ 中最吸引人的部分.它让你可以使用标准的 C# 对象与数据库的结构和数据打交道.使用 LINQ to Entities 时,LINQ 查询在后台转换为 S ...

  9. ping与telnet的区别

    ping 查看某个IP地址是否有效.还可以得出解析IP..评估网络质量.telnet 查看可以PING通IP的机子上的某个端口是否可以进行访问(telnet IP port) ,如果连接失败,可能是防 ...

  10. TCP/IP协议原理与应用笔记04:子网掩码

    1. 子网掩码 是IP 参照物:分网段用的! 比如 192.168.0.1 和192.168.0.2(1).子网掩码为 255.255.255.0那么192.168.0.X 在同一个网段,能互相访问. ...