------- android培训、java培训、期待与您交流! ----------
1.概念
- 什么是字符串?
- 字符串是一个特殊的类。
- 字符串一旦初始化就不可以被改变。
- String类的定义是 public final class String(){}
- 字符串定义
- String s1 = new String(”abc“);//比较少见,
- s1是一个类类型变量,"abc"是一个对象。
- 字符串最大特点:一旦被初始化就不可以被改变。例如s1="kk";这时候打印s1就是kk,但是”abc“对象没变过内存中海存在,变化的是s1指向了”kk“。
- String s2 = "abc";//比较常见
- String s1 = new String(”abc“);//比较少见,
2.字符串特点
- “abc”、new string "abc"有什么区别
- 在Java中每个""引起来的部分都是一个String类的具体对象。
- "abc"是一个对象。
- new string "abc"是两个对象:new一个、"abc"一个。
- String复写了 equals
- Object类 equals比较的是比较的是内存地址,与==相同。
- 而String类 equals复写了Object比较的是字符串是否相同。
- 内存中的String对象
- String类型的对象存在于常量池中,相同的字符串在常量池中只存在一份。
- 多个数据相同的字符串引用指向相同的对象。
3.常见功能
- String类描述字符串事物,里面就应该提供了操作字符串的方法。
- 1获取
- 获取长度 :int length();
- 根据位置获取字符:char charAt (int index);
- 根据字符获取该字符在字符串中位置
- int indexof(int ch):
- int indexof(int ch,int fromIndex):
- int indexof(String str):
- int indexof(int ch , int formIndex):
- 2判断
- 3转换
- 4替换
- String replace (oldchar , newchar);
- 5切割
- String [] split (regex);//regex是正则表达式,例如逗号“,”,按照逗号切割,返回值存进数组。
- 6子串
- 获取字符串中的一部分。
- String substring (begin);
- 从指定位置开始到结尾,例如begin是2,返回值是2到结束。
- String substring(begin,end);
- 包含头,不包含尾。
- 例如一个字符串s=“abcdef”,s.substring(2,4)结果是cd,包含2不包含4。整个字符串就是substring(0,s.length());
- String substring (begin);
- 获取字符串中的一部分。
- 7转换
- 7.1 将字符串转成大写或者小写。
- String toUpperCase();
- String toLowerCase();
- 7.2 将字符串两端的多个空格去除。
- String trim();
- 7.3对两个字符串进行自然顺序的比较。
- int compareTo(string);
- 比较的返回值不固定,“abc”.compareTo("acc");返回的值是与从 "abc"每个字符减 “acc”每个字符,直到有差别停止。如果为0就是相等。
- int compareTo(string);
- 7.1 将字符串转成大写或者小写。