String类(重点)
1. String的特点
任何的字符串常量(“abc”), 就是字符串的对象, 是对象就能够调用String类中的方法.
字符串是不可变的字符序列
2. String类的构造方法
(1) 两个没用的构造方法
String(): 创建了一个String对象, 表示的是空字符串("")String(String s): 创建了一个String对象, 表示的是与参数相同的内容
== 做比较
基本数据类型比较, 比较的是值;
引用数据类型比较, 比较的是地址值.
String s1 = "abc";String s2 = "abc";String s3 = new String("abc");System.out.println(s1 == s2); // trueSystem.out.println(s1 == s3); // false
(2) 两个有用的构造方法
String(char[]): 创建了一个String对象, 表示将构造中字符数组中的没一个字符, 拼接起来String(byte[]): 创建了一个String对象, 表示将构造中的字节按照码表进行转换, 然后拼接起来
// 创建字符数组 char[] chs = {'我', '爱', '你', '中', '国'}; String s1 = new String(chs); System.out.println(s1); // "我爱你中国" // 创建字节数组 byte[] bytes = {97, 98 , 99, 100}; String s2 = new String(bytes); System.out.println(s2); // "abcd"
3. 获取功能
length
public int length(): 获取字符串的长度(字符的个数)
concat
public String concat(String str): 将指定字符串连接到此字符串的结尾。String s1 = "abc";String s2 = "def";s1.concat(s2);// 指定字符串: 参数中的字符串// 此字符串: 调用方法的字符串
charAt
public char charAt(int index) : 获取指定索引处的字符
indexOf
public int indexOf(String str): 获取指定字符串在此字符串中第一次出现的索引如果没有出现, 就返回 -1
substring
public String substring(int beginIndex) 从开始索引(beginIndex), 一直截取到末尾public String substring(int beginIndex, int endIndex) 从开始索引(beginIndex), 截取到结束索引(endIndex) --- 包头不包尾
方法的重载:
在同一个类中, 出现了方法名相同, 参数列表不同, 与返回值类型和修饰符无关的多个方法
4. 判断功能
equals
equalsIgnoreCase
// Object就当成传入的是String, Object是String的祖宗public boolean equals(Object anObject): 相同字符序列返回true, 否则返回falsepublic boolean equalsIgnoreCase(String anotherString) : 比较字符序列是否相同, 忽略大小写
5. 转换功能
将字符串转换成字节数组 — getBytes
public byte[] getBytes() : 使用默认的编码表, 将字符串转换成字节数组
将字符串转换成字符数组 — toCharArray
public char[] toCharArray(): 将此字符串转换为一个新的字符数组
replace
// CharSequence当做传入的就是String, CharSequence是String的爹public String replace(CharSequence target, CharSequence replacement) 将字符串中所有和target匹配的内容, 都使用replacement替换掉
6. 拆分功能
拆分
public String[] split(String regex) : 根据给定的regex, 拆分字符串// ab#cde#fg