来自韩顺平 零基础三十天学java的笔记总结
目录
一、String类
1.String类的理解及创建对象。
(1)字符串常量对象
(2)String类常用的构造方法
(3)String类的继承和实现对象
(4)String的value数组
2.创建String对象的两种方式
(1)两种方式
//方式一
String s="hello";
//方式二
String s=new String("hello");
(2)两种创建方式的区别
这两种创建对象的机制是不同的。
3.字符串的特性
一旦字符串内容被分配,其内容是不可变的。
二、String类的常见方法
三、StringBuffer类
String类是保存字符串常量的。但每次更新都需要重新开辟空间,效率较低。因此用StringBuffer类和StringBuilder类来增强String的功能,并提高效率。
虽然String拼接效率较低,但在某些情况下也比较实用,如做一些配置文件,用String表示一些常量的值
1.StringBuffer类的基本介绍
(1)可变字符序列,增删方便。
(2)很多方法和String相同。
(3)长度可变,value
2.String和StringBuffer的比较
(1)更新内容的比较
(2)StringBuffer的构造器
//初始空间16
StringBuffer sb = new StringBuffer();
//指定初始空间大小
StringBuffer sb1= new StringBuffer(1000);
//空间大小:输入字符串的长度+16
StringBuffer sb2 = new StringBuffer("hel");
(3)String和StringBuffer的相互转换:
// String->StringBuffer
String s = "hello";
//方式一
StringBuffer b1 = new StringBuffer(s);
//方式二
StringBuffer b2 = new StringBuffer();
b2.append(s);
// StringBuffer->String
//方式一
String s1 = b1.toString();
//方式二
String s2 = new String(b2);
3.Stringbuffer类的常用方法:
四、StringBuild类
1.基本介绍
(1)可变序列,是StringBuffer类的简易替换。
(2)StringBuilder可作为StringBuffer的替换在单线程中使用,它比StringBufer要快,但存在线程安全问题。、
(3)StringBuilder的继承关系和StringBuffer是完全一样的,也都继承了abstractStringBuilder类。StringBuffer拥有的方法,StringBuilder也都有。
2.String、StringBuffer、StringBuilder的比较
String不可变字符序列,效率低,但复用性高。
StringBuilder和StringBuffer均为可变序列,效率(如增加、删除.)高。
StringBuilder效率最高,但存在线程安全问题,只能在单线程中使用。
在多线程中使用StringBuffer
如果要对String做大量修改就不要考虑用String类型了。如果是做一下配置文件等不经常修改的操作,可以用String。
三者的效率:StringBuilder>StringBuffer>String