学习课程名称:Java体系课
章节名称:String类
课程内容:
- 创建字符串
- 字符串与字节数组转换
- String的常用方法
- StringBuilder类
学习收获
String s1 ="imooc";
String s2 = new String();
String s3 = new String("imooc");
char[] chs={'i','m','o','o','c'};
String s = new String(ch);
char[] chs={'i','m','o','o','c'};
String s = new String(ch,1,2);
byte[] b={54,69,70,71,72};
String s=new String(b);
String s2=new String(b,1,2);
- 字符串与字节数组转换
关于字符编码的说明字节用byte类型表示,byte类型范围为-128-127之间的整数
GBK格式:2个byte数据表示1个汉字,字母和空格用一个字节表示;utf-8格式:3个byte数据表示1个汉字,字母和空格用一个字节表示。
- String类的常用方法
1、int length() 返回当前字符串的长度
2、int indexOf(int ch) 查找ch字符在该字符串中第一次出现的位置
3、int indexOf(String str) 查找str字符串在该字符串中第一次出现的位置(int dexOf(String str,int i)从位置i开始,str第一次出现的位置)
4、int lastIndexOf(int ch) 查找ch字符在该字符串中最后一次出现的位置
5、int lastIndexOf(String str) 查找str字符串在该字符串中最后一次出现的位置
6、String substring(int beginIndex) 获取从beginIndex位置开始到结束的子字符串
7、String substring(int beginIndex,int endIndex) 获取从beginIndex到endIndex位置的子字符串(不包括endIndex的字符)
8、String trim() 返回除了前后空格的字符串
9、boolean equals(Object obj) 将该字符串与指定对象比较,返回true或false(比较内容)
10、String toLowerCase() 将字符串转化为小写
11、String toUpperCase() 将字符串转化为大写
12、char charAt(int index) 获取字符串中指定位置的字符
13、String [] split(String regex,int limit) 将字符串分割为子字符串,返回字符串组
14、byte[] getBytes() 将该字符串转化为byte数组(也可以加格式参数,如“GBK”)
15、String replace(String str1,String str2) 将与字面目标序列匹配的字符串的每个子字符串替换为指定的字面替换序列。 替换从字符串开始到结束,例如,在字符串“aaa”中用“b”替换“aa”将导致“ba”而不是“ab”
16、int compareTo(String str);按字典顺序比较两个字符串,返回值为0表示相等字符串,小于零表示字符串参数大,大于零表示字符串参数小
17、String concat(String str);将指定的字符串连接到该字符串的末尾。
- ==和equals方法的区别
==比较地址,String类重写了equals,用于比较内容
- String的不可变性
String对象一旦被创建,则不能被修改,是不可变的。所谓的修改其实是创建了新的对象,所指向的内存空间不变
- StringBuilder类
- String具有不可变性,而StringBuilder不具备
- String比StringBuilder的执行效率要低,因为在运行时产生一些String对象,这样会耗费一些时间,当频繁操作字符串时,使用Stringbuilder
- StringBuilder和StringBuffer基本相似,StringBuffer是线程安全的,StringBuilder则没有,所以性能略高
- 构造方法
StringBuilder()
StringBuilder(int capacity)
StringBuilder(String str)
StringBuilder append(各类数据类型参数)
char charAt(int index);
indexOf(String str);
StringBuilder delete(int start,int end);
StringBuilder insert(int offset,数据类型参数);
int length();
StringBuilder replace(int start,int end,String str);
String substring(int start,int end);
toString();
课程截图
打开App,阅读手记