String字符串

测试集结号 2017-06-14 07:29

1、String字符串

直接赋值:String str = "Hello"

使用new关键字:String str = new String("Hello")

字符串的相等比较使用equals()函数。注意:"=="比较的是地址,而equals()比较的是内容

2、字符串常用方法

字符串长度:length()方法

字符串转换数组:toCharArray() char data[] = str.toCharArrya();

从字符串中取出指定位置的字符:charAt()

字符串与byte数组的转换:getBytes()

过滤字符串中存在的字符:indexOf()

去掉字符串的前后空格:trim()

从字符串中取出子字符串:subString()

大小写转换:toLowerCase() toUpperCase()

判断字符串的开头结尾字符:endsWith() startWith()

替换String字符串中的一个字符:replace()

3.StringBuffer

A、缓存区,本身也是操作字符串,但是与String不同,StringBuffer是可以更改的。StringBuffer是一个操作类,所以必须实例化进行操作。

String字符串

B、StringBuffer的常用方法:

append() 添加字符串

insert() 在指定位置添加字符串

replace() 在指定位置替换字符串

indexOf()

4、StringBuilder

A、一个可变的字符序列,该类被设计作用StringBuffer的一个简易替换。用在字符串缓冲区被单个线程使用的时候。建议优先考虑使用该类,速度比StringBuffer要快

B、但是如果设计到线程安全方面,建议使用StringBuffer

C、常用方法:append() 、insert()

============================================================================

为什么线程安全,效率低; 为什么线程不安全效率高呢?

线程的安全是以牺牲效率为代价的,所谓线程安全就是多了个加锁、解锁的操作,比如100亿个操作中都要加锁和解锁,线程是安全了,但效率就下降了。而有些软件是以效率为主的,为了提高效率,就少了加锁,解锁的操作,虽然容易出现并发访问问题,但效率却提高了。