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> ...
随机推荐
- Redis--redis集群环境搭建
1.redis-cluster架构图 Redis 自3.0以后开始支持集群.从上图我们可以看出,redis集群的每个节点之间都进行相互通信,在redis集群中,不存在代理层,即没有固定的入口.redi ...
- 总结 vb与数据库的连接方法
总结 vb与数据库的连接方法 分类:vb数据库 (4672) (38) 举报 收藏 总结:vb与数据库连接方式,两种分法. 根据是否使用ODBC(驱动程序)来分: 1.有源连接 2.无源连接. ...
- C# 开发者审查代码的41条建议
1. 确保没有任何警告(warnings). 2.如果先执行Code Analysis(启用所有Microsoft Rules)再消除所有警告就更好了. 3. 去掉所有没有用到的usings.编码过程 ...
- 小白学习之Code First(五)
Fluent API:另一种配置实体类的方式,它比DataAnnorations提供了更多的配置 其中EntityTypeConfiguration这个类提供了重要的属性.方法来配置对应的实体类,可以 ...
- DotNet Core 2.0部署后外网IP访问
将DotNet Core2.0项目部署在Ubuntu上并且运行后,可以用localhost:5000来访问. 但是如果这时候用外网来访问就不行了. 这时候就有两种解决方案,第一种是用Nginx做代理实 ...
- 鼠标样式——css国际组织
w3c国际标准组织提供的鼠标样式: http://css-cursor.techstream.org/
- C语言读取配置文件
自从大学学完C之后,就再也没用过它了, 在网上找代码,七拼八凑之后,终于成形~~勉强能用,不喜勿喷,^_^! int GetValue(const wchar_t *key, wchar_t *val ...
- 实习小结(五)--- SSM框架搭建(Maven项目)
之前分享了一个普通的SSM框架的搭建方法,感觉还是过于老套,现在都流行使用Maven来管理项目,在这分享一个使用Maven搭建的SSM(SpringMVC+Spring+MyBatis) 1.首先ma ...
- CentOS系统下安装SVN及常用命令
1.SVN的安装: yum install subversion 2.服务端命令 svnserver -- 控制svn系统服务的启动等 svnadmin -- 版本库的创建.导出.导入.删除等 svn ...
- monggo查询语法
db.getCollection('vvt_user_reward').find({"description":"双节活动"})