1.String:对象长度是不可变的,是线程安全. 2.StringBuffer:对象长度是可变的,是线程安全. 3.StringBuilder:对象长度是可变,不是线程安全.…
首先是,String,StringBuffer的区别 两者的主要却别有两方面,第一是线程安全方面,第二是效率方面 线程安全方面: String  不是线程安全的,这意味着在不同线程共享一个String的时候,需要先进行同步,否则会出现不同线程获得的值不同的情况,即线程不安全 StringBuffer 是线程安全的,在不同线程中共享的时候会自动同步,不需要手动同步. 效率方面: String在每次更改的时候均是重新建立一个变量,再将更改后的值赋予其中,多次更改之后会触发JVM的GC机制,占用资源…
String String是不可变的 我们都知道String不是基本数据类型,而是一个对象,并且是final类型的,不可变的.(public final class String) 查看以下代码: String text = "a"; text = "b"; String不是不可变的么?为什么可以这样用?因为text是字符串"a"的引用,即引用是可以变化的,跟对象实例的属性变化没有关系.(这里创建的是两个String对象) String设计成不可…
String,StringBuffer,StringBudilder区别: 1String 是字符串常量,创建内容不可以变, final修饰意味着String类型不能被继承,减少被修改的可能,从而最大程度上确保了安全性. 2.StringBuffer,StringBuilder都是字符串变量,创建后内容可以变化. 3.StringBuffer线程是安全的,StringBuilder是非线程安全的,(线程安全会带来额外的系统开销,所有StringBuilder效率是高于StringBuffer的)…
Android 中的 String, StringBuffer 和 StringBuilder 是移动手机开发中经常使用到的字符串类.做为基础知识是必须要理解的,这里做一些总结. A.区别 可以从以下两个方面来理解 1.不变和可变. String类:使用数组保存字符串,类中的定义如下: private final char value[]; 注意到,因为用了final修饰符,所以可以知道string对象是长度不可变的. StringBuilder和StringBuffer类:都是继承自Abstr…
String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全) 简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常改变内容的字符串最好不要用 String ,因为每次生成对象都会对系统性能产生影响,特别当内存中无引用对象多了以…
String StringBuffer StringBuilder String http://docs.oracle.com/javase/7/docs/api/ 中文: http://www.cnblogs.com/YSO1983/archive/2009/12/07/1618564.html String str0 = "最正常的创建方法"; System.out.println(str0); char[] c1 = new char[3]; c1[0] = 'c'; c1[1]…
我们先要记住三者的特征: String 字符串常量 StringBuffer 字符串变量(线程安全) StringBuilder 字符串变量(非线程安全) 一.定义 查看 API 会发现,String.StringBuffer.StringBuilder 都实现了 CharSequence 接口,内部都是用一个char数组实现,虽然它们都与字符串相关,但是其处理机制不同. String:是不可改变的量,也就是创建后就不能在修改了. StringBuffer:是一个可变字符串序列,它与 Strin…
转自:http://www.iteye.com/topic/522167 作者:每次上网冲杯Java时,都能看到关于String无休无止的争论.还是觉得有必要让这个讨厌又很可爱的String美眉,赤裸裸的站在我们这些Java色狼面前了.嘿嘿.... 众所周知,String是由字符组成的串,在程序中使用频率很高.Java中的String是一个类,而并非基本数据类型. 不过她却不是普通的类哦!!! [镜头1] String对象的创建       1.关于类对象的创建,很普通的一种方式就是利用构造器,…
不论什么一个系统在开发的过程中, 相信都不会缺少对字符串的处理. 在 java 语言中, 用来处理字符串的的类经常使用的有 3 个: String.StringBuffer.StringBuilder. 它们的异同点: 1) 都是 final 类, 都不同意被继承; 2) String 长度是不可变的, StringBuffer.StringBuilder 长度是可变的; 3) StringBuffer 是线程安全的, StringBuilder 不是线程安全的. String 类已在上一篇随笔…