java学习阶段一 工具类(字符串)
介绍
对于StringBuilder是为了弥补当字符串发生复杂改变生成没必要的中间变量的问题
基本知识
-
创建对象
String 对象名 = 字符串//本身也是创建对象 String 对象名 = new String(字符串);
-
String常用方法
//length 返回字符串长度 对象名.length(); //打印出字符串指定位置字符 对象名.charAt(位置 从零开始); //截取字符串中的子字符串 位置为传入的参数 对象名.substring(int a,int b);//a 到 b 之前不包括b //字符或者字符字串第一次出现的位置最后一次出现的位置 对象名.indexOf(传入的字符); 对象名.lastIndexOf(传入的字符); //字符串与byte数组间相互转换 对象名.getBytes();
-
复用
和装箱拆箱一样 String = 赋值 的操作也有常量池问题 相同的字符会有相同的引用
正式的创建对象不会发生复用
-
String不可变性
加号串联字符串同样时创建一个新的字符串 不会复用 字符类对象的改变也是引用的改变
-
StringBuilder
StringBuilder没有不可变性
-
StringBuilder和StringBuffer
StringBuffer是线程安装 StringBuilder没有 所以后者性能略高
-
StringBuilder的常用方法
//末尾添加字符 对象名.append(/*大部分数据类型 以字符 字符串处理*/); //delect insert 对象名.delect(int,int); //替换 对象名.replace(位置,位置,插入的字符串);
注意事项
1 utf-8中一个汉字对应三个数字
2 在字符串对象创建时可以传入数组进入构造方法从而把数字转换为字符
3 字符与数字的转换最好保持字符集的一致
4 对象调用方法不会改变原有的字符串