java String,StringBuilder和StringBuffer
String:
1.java语言中的字符串值属于String类,虽然有其它方法表示字符串(如字符数组),但java一般使用Sting类作为字符串的标准格式,java编译器把字符串值作为String对象。
2.String对象一旦创建就不能改变。如果需要进行大量的字符串修改操作,应该使用StringButter/StringBuilder类或者字符数组,最终结果可以被转换成String对象。
StringBuffer:
1.StringBuffer 线程安全的可变字符序列
2.一个类似于String的字符串缓冲区(字符数组)通过某些方法调用可以改变该序列的长度和内容。
3.每个字符串缓冲区都有一定的容量。只要字符串缓冲区所包含的字符序列的长度没有超过此容量就无须分配新的内部缓冲区数组。
4.如果内部缓冲区溢出,则此容量自动增大。
StringBuilder:
1.从JDK5开始,为StringBuffer类补充了一个单个线程使用的等价类,即StringBuilder。
2.与StringBuffer相比,通常应该优先使用StringBuilder类,因为它支持所有相同的操作,但是由于它不执行同步,所以速度更快。
public int length() //返回字符串长度
public int capacity() //返回字符串数组容量长度
public StringBuffer append(String str) //添加一个字符或字符串
public StringBuffer insert(int offset,String str) //在指定位置插入一个字符串
public int indexOf(String str) //查找字符串首次出现的下标
public int indexOf(String str,int fromIndex) //从指定位置开始,查找字符串首次出现的下标
public int lastIndexOf(String str) //查找字符串最近一次出现的下标
public StringBuffer reverse() //翻转字符串
public String toString() //将字符数组缓冲区转换为字符串常量
API文档讲解
public class StringBuilderDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
//StringBuilder sb = "abc";//无此种声明方式
//StringBuilder sb = new StringBuilder();//默认16个字符大小的容量数组
//StringBuilder sb = new StringBuilder(100);//初始化100个容量的字符串数组
//StringBuilder sb = new StringBuilder("abc");//字符串的前三个字符是abc
StringBuilder sb = new StringBuilder();
sb.append("abc");
sb.append(1);
sb.append(1.5);
System.out.println(sb.length());
System.out.println(sb.capacity());
sb.insert(3, "def");
System.out.println(sb.toString());
sb.replace(3, 6, "kkk");
System.out.println(sb.toString());
System.out.println(sb.indexOf("b"));
System.out.println(sb.reverse());
}
}
java String,StringBuilder和StringBuffer的更多相关文章
- 全面解释java中StringBuilder、StringBuffer、String类之间的关系
StringBuilder.StringBuffer.String类之间的关系 java中String.StringBuffer.StringBuilder是编程中经常使用的字符串类,在上一篇博文中我 ...
- 【转载】关于Java String, StringBuilder, StringBuffer, Hashtable, HashMap的面试题
REF: http://blog.csdn.net/fightforyourdream/article/details/15333405 题目是一道简单的小程序,像下面这样:[java] view p ...
- Java中String, StringBuilder和StringBuffer
Java中常用来处理字符串的类有三个: String, StringBuffer和StringBuilder. 区别 三者都继承自CharSequence接口, 首先说明三者间主要区别 String字 ...
- Java基础学习总结(65)——Java中的String,StringBuilder和StringBuffer比较
字符串,就是一系列字符的集合. Java里面提供了String,StringBuffer和StringBuilder三个类来封装字符串,其中StringBuilder类是到jdk 1.5才新增的.字符 ...
- java中StringBuilder、StringBuffer、String类之间的关系
今天在CSDN的高校俱乐部里看到了"Java基础水平測试(英文)".感觉自己学了java这么久,想看下自己的java水平究竟是个什么样.測试结果就不说了,反正是慘不忍睹. 看了一下 ...
- java 常用类库:String ; StringBuilder和StringBuffer类
1. String 1.String对象是不可变的 String类的value属性是用来存放字符串里面的值的.这个属性是被final修饰的.final修饰的变量不能够被第二次赋值,所以字符串是不可变的 ...
- Java String StringBuilder StringBuffer
String是字符串常量 StringBuilder和StringBuffer都是字符串变量 速度方面:StringBuilder > StringBuffer > String 每当用S ...
- String StringBuilder以及StringBuffer
例一:[看了威哥视频,下面更好理解] package sunjava; public class String_test { public static void main(String[] args ...
- String,StringBuilder和StringBuffer的特点和使用场景
这三个类是平时开发中经常遇到的,主要差别是运行速度和线程安全,使用起来String最方便了,另外两个稍微复杂一些. 从运行速度角度看,StringBuilder>StringBuffer> ...
随机推荐
- Linq in条件查询
Linq 实现sql中的not in和in条件查询 T-SQL的IN: Select ProductID, ProductName, CategoryID From dbo.Products Wh ...
- iOS开发常用函数
1. 三角函数 double sin (double); 正弦 double cos (double);余弦 double tan (double);正切 2 .反三角函数 double asin ...
- 我用ASP.NET缓存之数据缓存
[我的理解] Cache,是内置的对象集合.是全局的,类似于static Arraylist.它是线程安全的,添加或修改Cache中的项目时,不需要锁定或者解除Cache. 添加 Cache[Key] ...
- [选译]MySQL5.7以上Zip版官方安装文档
前言 在windows上安装Zip版MySQL(选译) 学习mysql的朋友们会发现5.7+版本的mysql变得比以前难安装了许多(当然我们可以选择installer版本,但是这样总感觉对学习mysq ...
- 算警示吧——此文来自张鑫旭(说说CSS学习中的瓶颈)
by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=2523 虽已数年,但未 ...
- hexo的next主题个性化教程:打造炫酷网站
看到有些next主题的网站很炫酷,那么是怎么配置的呢?接下来我会讲一讲如何实现一些炫酷的效果 主要有以下32种: 在右上角或者左上角实现fork me on github 添加RSS 添加动态背景 实 ...
- xib Nib IB 可视化编程详解
简单的说,Xib就是拖控件编程,也可以说是可视化编程. 相对于代码,使用IB和xib文件来组织UI,可以省下大量代码和时间,从而得到更快的开发速度. 如果你曾经受到过微软家Visual Basic或者 ...
- JavaScript正则表达式检验手机号码、邮箱、ip地址等
1)检测IP地址的正则表达式 ((2 [0-4] \d | 25[0-5] | [01]?\d\d?) \.){3}(2 [0-4] \d | 25[0-5] | [01]?\d\d?) 2 [0-4 ...
- mysqli 更新&插入操作及事务
$mysqli = new mysqli('localhost', 'root', '1234', 'shop'); $query1 = " update sw_goods set good ...
- 拖拽进度条(SeekBar)
拖拽进度条(SeekBar) 监听方法:setOnSeekBarChangeListener 监听器:SeekBar.OnSeekBarChangeListener 简单,直接上代码: 1.Activ ...