1.  
  2. * StringBuilder:是一个可变的字符串。字符串缓冲区类。
    *
    * StringStringBuilder的区别:
    * String的内容是固定的。(方法区的内容)
    * StringBuilder的内容是可变的。
    *---------------------------------------------
  1. * 构造方法:
    * StringBuilder()
    *
    * 成员方法:
    * public int capacity():返回当前容量
    * public int length():返回长度(字符数)
    *
    * 容量:理论值
    * 长度:实际值
  1. *---------------------------------------------
  1. * 添加功能
    * public StringBuilder append(任意类型):添加数据,并返回自身对象
    * StringBuilder不同于Stringstring是不能在原有方法区的字符串上更改,而前者是直接在原有方法区内增加字符串。
    * 反转功能
    * public StringBuilder reverse()
    *
    *--------------------------------------------
  1. StringBuilderString的相互转换
  1. * StringBuilder -- String
    * public String toString():通过toString()就可以实现把StringBuilder转成String
    *
    * String -- StringBuilder
    * StringBuilder(String str):通过构造方法就可以实现把String转成StringBuilder
  1.  
  1. public class StringBuilderDemo {
  2. public static void main(String[] args) {
  3. //创建对象
  4. StringBuilder sb = new StringBuilder();
  5.  
  6. System.out.println(sb.capacity());
  7. System.out.println(sb.length());
  8. }
  9. }

  1. public class StringBuilder_append_reverse {
  2. public static void main(String[] args) {
  3. //创建对象
  4. StringBuilder sb = new StringBuilder();
  5.  
  6. /*
  7. StringBuilder不同于String,string是不能在原有方法区的字符串上更改,而前者是直接在原有方法区内增加字符串。
  8. public StringBuilder append(任意类型)
  9. StringBuilder sb2 = sb.append("hello");
  10.  
  11. System.out.println("sb:"+sb);
  12. System.out.println("sb2:"+sb2);
  13. System.out.println(sb == sb2); //true
  14. */
  15.  
  16. /*
  17. append比较特殊输出的是对象,对象后跟方法。所以可以链式编程。
  18. sb.append("hello");
  19. sb.append("world");
  20. sb.append(true);
  21. sb.append(100);
  22. System.out.println(sb);
  23. */
  24.  
  25. //链式编程
  26. sb.append("hello").append("world").append(true).append();
  27.  
  28. System.out.println("sb:"+sb);
  29.  
  30. //public StringBuilder reverse()
  31. sb.reverse();
  32. System.out.println("sb:"+sb);
  33.  
  34. }
  35. }

  1. public class String_Stringbuilder {
  2. public static void main(String[] args) {
  3. //StringBuilder --- String
  4. /*
  5. StringBuilder sb = new StringBuilder();
  6. sb.append("hello").append("world");
  7.  
  8. String s = sb.toString();
  9. System.out.println(s);
  10. */
  11.  
  12. //String --- StringBuilder
  13. String s = "abcdefg";
  14. StringBuilder sb = new StringBuilder(s);
  15. System.out.println(sb);
  16. System.out.println(sb.append("----"));
  17. }
  18. }

  1.  

8.4 StringBuilder的介绍及用法(String 和StringBuilder区别)的更多相关文章

  1. JAVA String介绍、常量池及String、StringBuilder和StringBuffer得区别. 以及8种基本类型的包装类和常量池得简单介绍

    一.概述 String是代表字符串的类,本身是一个最终类,使用final修饰,不能被继承. 二.定义方式   方式一:直接赋值法 String str1 = "hello"; 方式 ...

  2. C#编程(四十四)----------string和stringbuilder

    System.String类 首先string类是静态的,System.String是最常用的字符串操作类,可以帮助开发者完成绝大部分的字符串操作功能,使用方便. 1.比较字符串 比较字符串是指按照字 ...

  3. java中StringBuffer与String、StringBuilder的区别

    在java中我们经常可以看到StringBuffer和String的用法,但是我自己在使用过程中,经常会将两者弄混淆,今天我们就来了解一下两者的区别: 我们首先来看一下我们的官方API中的简单介绍: ...

  4. String详解, String和CharSequence区别, StringBuilder和StringBuffer的区别 (String系列之1)

    本章主要介绍String和CharSequence的区别,以及它们的API详细使用方法. 转载请注明出处:http://www.cnblogs.com/skywang12345/p/string01. ...

  5. 关于String StringBuffer StringBuilder

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

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

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

  7. Java中的String、StringBuilder、StringBuffer

    可以证明,字符串操作是计算机程序设计中最常见的行为. 一.String 首先我们要明确,String并不是基本数据类型,而是一个对象,并且是不可变的对象.查看源码就会发现String类为final型的 ...

  8. String StringBuffer StringBuilder (转)

    转自:http://www.iteye.com/topic/522167 众所周知,String是由字符组成的串,在程序中使用频率很高.Java中的String是一个类,而并非基本数据类型. 不过她却 ...

  9. Java的String&StringBuffer&StringBuilder

    一:String类 1.String对象的初始化 由于String对象特别用,所以在对String对象进行初始化时,Java提供了一种简化的特殊语法,格式如下: String s = "ab ...

随机推荐

  1. Python基础篇(四)_组合数据类型的基本概念

    Python基础篇——组合数据类型的基本概念 集合类型:元素的集合,元素之间无序 序列类型:是一个元素向量,元素之间存在先后关系,通过序号进行访问,没有排他性,具体包括字符串类型.元组类型.列表类型 ...

  2. Linux常用命令总结(一)

    一.cd命令 用于切换当前目录,类似与win的命令.它可以切换到绝对路径,也可以是相对路径. cd  /root/Doce  # 切换到绝对路径/root/Doce目录下 cd ./path  # 切 ...

  3. [Alg] 文本匹配-单模匹配与多模匹配

    实际场景: 网站的用户发了一些帖子S1, S2,...,网站就要审核一下这些帖子里有没有敏感词. 1. 如果网站想查一下帖子里有没有一个敏感词P,这个文本匹配要怎么做更快? 2. 如果网站想查一下帖子 ...

  4. iOS开发:判断iPhone是否是刘海屏iPhoneX、iPhoneXR、iPhoneXs、iPhoneXs Max等

    保证能判断,呕心沥血,不行切JIJI 方法一 Objective-C // iPhoneX.iPhoneXR.iPhoneXs.iPhoneXs Max等 // 判断刘海屏,返回YES表示是刘海屏 - ...

  5. Python3 分数

    limit_denominator()定义:通过限制分母的大小来取一个近似值提高精度.格式:fractionobject.limit_denominator('分母最大值') denominator定 ...

  6. IdentityServer4源码解析_4_令牌发放接口

    目录 identityserver4源码解析_1_项目结构 identityserver4源码解析_2_元数据接口 identityserver4源码解析_3_认证接口 identityserver4 ...

  7. CF1324A Yet Another Tetris Problem 题解

    原题链接 简要题意: 再简要一波: 每次可以把一个数增加 \(2\),问最后能不能让所有数相等.(也就是抵消掉) 什么?题意变成这样子还做个啥? 你会发现,必须所有数的奇偶性都相同,才可以:反之就不可 ...

  8. JDK下载、安装、卸载

    学习java的朋友,第一课就是安装JDK,如果你连他都不会安装,那就非常尴尬,如果面试的时候如果问到这个问题,就Game over了,下面来看看怎么弄吧! 了解JDK JDK的全称是JavaSE De ...

  9. IDEA编写 Scala时没有语法检查和错误提示

    #问题描述 在IDEA中写scala程序时,一些明显的语法错误不进行检查,没有像写Java时的红线什么的,当编译运行时,编译失败. https://blog.csdn.net/weizheng1000 ...

  10. Python第六章-函数02-函数的作用域

    函数 三.作用域规则 有了函数之后,我们必须要面对一个作用域的问题. 比如:你现在访问一个变量,那么 python 解析器是怎么查找到这个变量,并读取到这个变量的值的呢? 依靠的就是作用域规则! 3. ...