一、字符串的不变性: 一个String对象的长度是固定的,不能改变它的内容,或者是附加新的字符到String对象中。 您也许会使用+来串联字符串以达到附加新字符或字符串的目的,但+会产生一个新的String对象。 如果程序对这种附加字符串的需求很频繁,系统会频繁在内存中创建String对象,造成性能 ...
分类:
其他好文 时间:
2020-01-08 21:09:23
阅读次数:
61
StringBuffer StringBuffer String StringBuilder的区别 String:声明之后不可更改,其改变的只是内存地址的指向 StringBuffer:声明之后内容可变,不可用赋值方式进行对象实例化,需要构造方法创建对象,用于多个线程 StringBuilder 类 ...
分类:
其他好文 时间:
2020-01-04 11:02:30
阅读次数:
59
immutable特点: 1.不可变对象一定是线程安全的(里面的任何属性或者引用类型的属性一旦被初始化,都不能被修改)2.可变对象不一定是不安全的 StringBuffer 题外话: J2EE中servlet 全局只创建一个对象,不是线程安全的struts 1.x Action也不是线程安全的,只创 ...
分类:
编程语言 时间:
2019-12-31 12:16:03
阅读次数:
87
//默认16个长度char[]存储如果传入字符串则str.length+16 StringBuffer sb = new StringBuffer(); //添加功能 StringBuffer append = sb.append("a"); //删除元素 StringBuffer delete = ...
分类:
其他好文 时间:
2019-12-29 16:33:23
阅读次数:
74
StringBuffer类 为了解决字符串不可变的问题 所以提供了字符串缓冲区, 字符串缓冲区支持可变的字符串 StringBuffer又称为可变字符序列,它是一个类似于 String 的字符串缓冲区,通过某些方法调用可以改变该序列的长度和内容。 原来StringBuffer是个字符串的缓冲区,即就 ...
分类:
其他好文 时间:
2019-12-23 22:40:23
阅读次数:
102
Java String Buffer和StringBuilder类 对字符串进行修改时,需要String Buffer和StringBuilder类 能够被多次修改,却不产生新的未使用对象 StringBuilder类,不是线程安全的。 速度优势,要求安全的情况下必须用StringBuffer类 p ...
分类:
编程语言 时间:
2019-12-23 13:08:41
阅读次数:
75
/* * final:最终的 * * 1. final可以用来修饰的结构:类、方法、变量 * * 2. final 用来修饰一个类:此类不能被其他类所继承。 * 比如:String类、System类、StringBuffer类 * * 3. final 用来修饰方法:表明此方法不可以被重写 * 比如 ...
分类:
编程语言 时间:
2019-12-23 00:51:03
阅读次数:
142
StringBuffer代表着可变的字符序列, 线程安全,效率相对于String快 相对于StringBuilder较低 底层也是char [] 来存储的 java.lang.StringBuffer代表可变的字符序列,JDK1.0中声明,可以对字符 串内容进行增删,此时不会产生新的对象。 ? 很多 ...
分类:
其他好文 时间:
2019-12-22 14:27:09
阅读次数:
60
string类型经常和基本数据类型一起被我们熟练运用,但却不被归为基本数据类型,他是特殊的引用类型。 我们来看下jdk对他的解释: String是在java.lang.String包里,前面用了final修饰,因此不可以继承和修改这个类。为了提高效率和节省空间,我们一般会引用StringBuffer ...
分类:
其他好文 时间:
2019-12-21 18:40:30
阅读次数:
95
String 字符串常量(线程安全)StringBuffer 字符串变量(线程安全)StingBuilder字符串变量(非线程安全) 简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候 ...
分类:
其他好文 时间:
2019-12-21 11:42:43
阅读次数:
58