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是一个操作类,所以必须实例化进行操作。
B、StringBuffer的常用方法:
append() 添加字符串
insert() 在指定位置添加字符串
replace() 在指定位置替换字符串
indexOf()
4、StringBuilder
A、一个可变的字符序列,该类被设计作用StringBuffer的一个简易替换。用在字符串缓冲区被单个线程使用的时候。建议优先考虑使用该类,速度比StringBuffer要快
B、但是如果设计到线程安全方面,建议使用StringBuffer
C、常用方法:append() 、insert()
============================================================================
线程的安全是以牺牲效率为代价的,所谓线程安全就是多了个加锁、解锁的操作,比如100亿个操作中都要加锁和解锁,线程是安全了,但效率就下降了。而有些软件是以效率为主的,为了提高效率,就少了加锁,解锁的操作,虽然容易出现并发访问问题,但效率却提高了。