1、String类的特点,字符串一旦被初始化就不会被改变。
2、String对象定义的两种方式
①String s = "affdf";这种定义方式是在字符串常量池中创建一个String对象,如果池中有则直接使用,没有则创建。
②String s = new String(“abc”);这种定义方式是在堆内存中创建两个对象。一个new一个字符串。
3、将字节数组和字符串数组转变成字符串可以用String类的构造函数来改变
byte[] arr = {65,66,67};
char[] ch = {'w','q','e','t'};
String s1 = new String(arr);
String s2 = new String(ch);
4、按照面向对象的思想对字符串的功能进行了分类
1----1获取
①获取字符串中字符的个数(长度),int length();
②根据字符串中的位置获取字符,char charAt(int index);
③根据字符获取字符串中第一次出现的位置
int indexOf(int ch);//查找指定字符在字符串中第一次出现的位置
int indexOf(int ch, int fromIndex);//从指定位置开始查找第一次出现字符的位置
int indexOf(String str);//查找指定字符串第一次出现的位置
下列方法和上述方法唯一的不同在于下列方法是从字符串的末尾从后往前查找。
int lastIndexOf(int ch);
int lastIndexOf(int ch, int fromIndex);
int lastIndexOf(String str);
④获取字符串中的一部分字符串,即字符串的子串
String substring(int beginIndex, int endIndex);包含beginIndex,不包含endIndex
String substring(int beginIndex);
1----2转换
①将字符串转换成字符串数组(字符串的切割)
String[] = split(String regex);这里涉及到正则表达式
②将字符串变为字符数组
char[] = toCharArray();
③将字符串转变为字节数组
byte[] = getBytes();
④将字符串中的字母进行大小写转换
String toUpperCase();大写
String toLowerCase();小写
⑤将字符串中的内容进行替换
String replace(char oldch, char newch);
String replace(String s1, String s2);
⑥将字符串两端的空格去除
String trim();
⑦将字符串进行连接
String concat(String s1);
1----3判断
①判断两个字符串内容是否相同
boolean equals(Object obj);在String类中对equals方法进行了覆盖
②字符串中是否包含指定的字符串
boolean contains(String str);
③字符串是否以指定字符串开头,是否以指定字符串结尾
boolean startWith(String str);
boolean endWith(String str);