day13 String

<05 String常见功能-比较和去除空格>
1)将字符串转换成大写或者小写。 String toUpperCase(),String toLowerCase()
2)将字符串两端的多个空格去除。String trim()
3)对两个字符串进行自然顺序的比较。String compareTo(string)
(注意:都是产生新的字符串。因为字符串一旦被声明,便不可再修改)
String类方法掌握要求:不借助API、编译工具,能够独立手写出来。

<06 StringBuffer>
StringBuffer:线程安全的可变字符序列
该类是final的,so不能继承
1)StringBuffer是字符串缓冲区,是一个容器
容器 具备的特点:
存储、删除、获取、修改(增删改查 CURD)
缓冲区特点:可以不断往里面添加数据。而最终用的时候,把它变成字符串用。sb.toString()
缓冲区特点:
a:长度可变
b:可以操作多个数据类型
c:最终会通过toString()方法变成字符串。
何时用:当数据类型不确定、个数不确定、且最终要变成字符串时,它最方便。比数组方便。二者各有利弊。
a)存储:
StringBuffer append():添加到已有数据的结尾处
sb.append("abc").append(true).append(34); //方法调用链,返回的还是本类对象。返回的还是原缓冲区对象。
StringBuffer insert(index, 数据):在指定index位置插入
sb.insert(1, "qq"); //在a后面插。orqq放在第1位上
(注意:如果越界,会报异常。
但凡访问到不存在的角标,就是越界)

b)删除:
StringBuffer delete(start, end):删除缓冲区中数据。包含start,不包含end
StringBuffer deleteCharAt(index):删除指定位置的字符
d)修改:
StringBuffer replace(start, end, string) ;
void setCharAt(int index, char ch)
sb.replace(1, 4, "java"); //不包含脚标4
sb.setCharAt(2, 'k'); //替换脚标2处的位置

5)反转
StringBuffer reverse()
6) void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
sb.getChars(1, 4, chs, 1); //包含头,不包含尾(即包含脚标1,不包含脚标4
                //存到chs中,从chs的1位置开始存

在JDK1.5版本之后,出现了StringBuilder。
区别在于:
StringBuffer是线程同步。
StringBuilder是线程不同步的。
(就是有锁没锁的区别)
以后开发,建议使用StringBuilder。(提高效率)

java升级三个因素:
1)提高效率;2)简化书写;3)提高安全性

<13 基本数据类型包装类>

猜你喜欢

转载自blog.csdn.net/lotusws/article/details/60744366