day13 String

3/8/2017来源:ASP.NET技巧人气:890

<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 基本数据类型包装类>