8.4 StringBuilder的介绍及用法(String 和StringBuilder区别)
* StringBuilder:是一个可变的字符串。字符串缓冲区类。
*
* String和StringBuilder的区别:
* String的内容是固定的。(方法区的内容)
* StringBuilder的内容是可变的。
*---------------------------------------------
* 构造方法:
* StringBuilder()
*
* 成员方法:
* public int capacity():返回当前容量
* public int length():返回长度(字符数)
*
* 容量:理论值
* 长度:实际值
*---------------------------------------------
* 添加功能
* public StringBuilder append(任意类型):添加数据,并返回自身对象
* StringBuilder不同于String,string是不能在原有方法区的字符串上更改,而前者是直接在原有方法区内增加字符串。
* 反转功能
* public StringBuilder reverse()
*
*--------------------------------------------
StringBuilder和String的相互转换
* StringBuilder -- String
* public String toString():通过toString()就可以实现把StringBuilder转成String
*
* String -- StringBuilder
* StringBuilder(String str):通过构造方法就可以实现把String转成StringBuilder
public class StringBuilderDemo {
public static void main(String[] args) {
//创建对象
StringBuilder sb = new StringBuilder(); System.out.println(sb.capacity());
System.out.println(sb.length());
}
}
public class StringBuilder_append_reverse {
public static void main(String[] args) {
//创建对象
StringBuilder sb = new StringBuilder(); /*
StringBuilder不同于String,string是不能在原有方法区的字符串上更改,而前者是直接在原有方法区内增加字符串。
public StringBuilder append(任意类型)
StringBuilder sb2 = sb.append("hello"); System.out.println("sb:"+sb);
System.out.println("sb2:"+sb2);
System.out.println(sb == sb2); //true
*/ /*
append比较特殊输出的是对象,对象后跟方法。所以可以链式编程。
sb.append("hello");
sb.append("world");
sb.append(true);
sb.append(100);
System.out.println(sb);
*/ //链式编程
sb.append("hello").append("world").append(true).append(); System.out.println("sb:"+sb); //public StringBuilder reverse()
sb.reverse();
System.out.println("sb:"+sb); }
}
public class String_Stringbuilder {
public static void main(String[] args) {
//StringBuilder --- String
/*
StringBuilder sb = new StringBuilder();
sb.append("hello").append("world"); String s = sb.toString();
System.out.println(s);
*/ //String --- StringBuilder
String s = "abcdefg";
StringBuilder sb = new StringBuilder(s);
System.out.println(sb);
System.out.println(sb.append("----"));
}
}
8.4 StringBuilder的介绍及用法(String 和StringBuilder区别)的更多相关文章
- JAVA String介绍、常量池及String、StringBuilder和StringBuffer得区别. 以及8种基本类型的包装类和常量池得简单介绍
一.概述 String是代表字符串的类,本身是一个最终类,使用final修饰,不能被继承. 二.定义方式 方式一:直接赋值法 String str1 = "hello"; 方式 ...
- C#编程(四十四)----------string和stringbuilder
System.String类 首先string类是静态的,System.String是最常用的字符串操作类,可以帮助开发者完成绝大部分的字符串操作功能,使用方便. 1.比较字符串 比较字符串是指按照字 ...
- java中StringBuffer与String、StringBuilder的区别
在java中我们经常可以看到StringBuffer和String的用法,但是我自己在使用过程中,经常会将两者弄混淆,今天我们就来了解一下两者的区别: 我们首先来看一下我们的官方API中的简单介绍: ...
- String详解, String和CharSequence区别, StringBuilder和StringBuffer的区别 (String系列之1)
本章主要介绍String和CharSequence的区别,以及它们的API详细使用方法. 转载请注明出处:http://www.cnblogs.com/skywang12345/p/string01. ...
- 关于String StringBuffer StringBuilder
0. String对象的创建 1.关于类对象的创建,很普通的一种方式就是利用构造器,String类也不例外:String s=new String("Hello world&qu ...
- C#基础知识系列三(类和结构体、String和StringBuilder、equals和==)
前言 这一节主要来了解一下类和结构体之间的异同点.以及针对String和StringBuilder的用法.equals和==,其实可以看出很多地方都用到了上一节的值类型和引用类型.堆栈和装箱拆箱操作吧 ...
- Java中的String、StringBuilder、StringBuffer
可以证明,字符串操作是计算机程序设计中最常见的行为. 一.String 首先我们要明确,String并不是基本数据类型,而是一个对象,并且是不可变的对象.查看源码就会发现String类为final型的 ...
- String StringBuffer StringBuilder (转)
转自:http://www.iteye.com/topic/522167 众所周知,String是由字符组成的串,在程序中使用频率很高.Java中的String是一个类,而并非基本数据类型. 不过她却 ...
- Java的String&StringBuffer&StringBuilder
一:String类 1.String对象的初始化 由于String对象特别用,所以在对String对象进行初始化时,Java提供了一种简化的特殊语法,格式如下: String s = "ab ...
随机推荐
- VS2008文件编码格式修改
windows下建议使用utf8的编码,vs默认的不是utf8格式,这时需要修改项目文件的模板,在C:\Program Files\Microsoft Visual Studio 9.0\VC\vcp ...
- vue中v-slot使用
vue中v-slot使用 1,v-slot的使用步骤 <!-- slot.vue--> <!-- 通过name属性指定具名插槽,没有name属性的为默认插槽--> <sl ...
- 从零开始学习R语言(五)——数据结构之“列表(List)”
本文首发于知乎专栏:https://zhuanlan.zhihu.com/p/60141740 也同步更新于我的个人博客:https://www.cnblogs.com/nickwu/p/125678 ...
- python的进制转换
转载于:https://www.cnblogs.com/FWF1944/p/11132409.html(方法论190404) Python整数能够以十六进制,八进制和二进制来编写,作为一般以10位基数 ...
- java简单序列化和反序列化
一.序列流 1.什么是序列流 序列流可以把多个字节输入流整合成一个, 从序列流中读取数据时, 将从被整合的第一个流开始读, 读完一个之后继续读第二个, 以此类推. 2.使用方式 整合两个: Seque ...
- 解析“60k”大佬的19道C#面试题(上)
解析"60k"大佬的19道C#面试题(上) 先略看题目: 请简述async函数的编译方式 请简述Task状态机的实现和工作机制 请简述await的作用和原理,并说明和GetResu ...
- [IROS 2018]Semantic Mapping with Simultaneous Object Detection and Localization
论文地址:https://arxiv.org/abs/1810.11525 论文视频:https://www.youtube.com/watch?v=W-6ViSlrrZgwww.youtu ...
- 题解 P2070 【刷墙】
前言 \(ZHK\)私人博客体验更佳 这道题目,\(n<=10^5\),显然在暗示我们使用\(n \log n\)的做法,我就是用了一个简单的贪心,通过了此题. 正文 在这道题中,我们发现,可以 ...
- 一文总结数据科学家常用的Python库(下)
用于建模的Python库 我们已经到达了本文最受期待的部分 - 构建模型!这就是我们大多数人首先进入数据科学领域的原因,不是吗? 让我们通过这三个Python库探索模型构建. Scikit-learn ...
- python3读取excel
说明 2007版以前的Excel(xls结尾的),需要使用xlrd读,xlwt写. 2007版以后的Excel(xlsx结尾的),需要使用openpyxl来读写. pypi的地址: https://p ...