1.String类
知识点:
1.String认识
2.比较方式
3.判断方法
4.转换方法
5.其他一些方法
1.1String类认识
String类在java.lang包中,java使用String类创建一个字符串变量,字符串变量属于对象。String类对象创建后是一个常量,有final修饰,不能被修改。字符串重新赋值不是修改,而是生成了一个新的字符串,原先的字符串依旧在内存中,但是引用变量不再指向它,过后原字符串因没被使用也会被Java GC机制回收。
1.2String类的比较方式
比较方式有两种
== 比较两个变量的地址
equals 比较两个变量包含的内容
String str1 = "abc"; //创建了一个对象在字符串池中存储
String str2 = "abc"; //从字符串池中引用了"abc",地址与a相同
String str3 = new String("abc"); //在堆中创建新对象,不复用池中的"abc"。此时有两个"abc",一个在堆中,一个在池中
//用 == 比较:
System.out.printl(str1 == str2); //true
System.out.println(str1 == str3); //false
System.out.println(str2 == str3); //false
//用equals方法比较:
System.out.println(str1.equals(str2)); //true
System.out.println(str1.equals(str3)); //true
System.out.println(str2.equals(str3)); //true
因此要求比较字符串用equals方法。
1.3String类的获取方法
(1)以下方法都是找出指定元素第一次出现的下标位置(可限制开始查找的位置)
- int length(); 获取字符串长度
- char charAt(int index); 获取String字符串中指定下标位置的char类型字符,如果index超出有效范围,出现异常:StringIndexOutOfBoundsException(字符串下标越界异常)
- int indexOf(char ch);获取单字符第一次出现下标
- int indexOf(String str);获取字符串第一次出现下标
- int indexOf(char ch, int fromIndex);从指定下标位置开始,查询指定字符第一次出现的下标
- int indexOf(String str, int fromIndex); 同上
(2)以下方法都是找出指定元素最后一次出现的下标位置(可限制开始查找的位置)
- int lastIndexOf(char ch);
- int lastIndexOf(char ch);
- int lastIndexOf(char ch, int fromIndex);
- int lastIndexOf(String str, int fromIndex);
1.4String类判断方法
- boolean endsWith(String str);
——判断当前字符串是不是以指定字符串结尾 - boolean isEmpty();
——判断字符串是否为空 ""空串 JDK1.6之后 null不能读取,不能写入,不能调用方法 - boolean equals(Object obj);
——继承重写Object类内的方法,完成字符串要求的比较方式 - boolean equalsIgnoreCase(String str);
——不区分大小写比较 - boolean contains(String str);
——判断指定字符串是否存在
1.5String转换方法
-
String(char[] arr);
——使用字符数组中内容创建一个字符串对象 -
String(char[] arr, int offset, int length);
——使用字符数组中内容创建一个字符串对象,offset是从char类型数组中指定下标位置开始获取数据,获取的数据长度是length -
static String valueOf(char[] arr);
——通过类名调用的静态方法,实际执行的是String(char[] arr); -
static String valueOf(char[] arr, int offset, int length);
——通过类名调用的静态方法,实际执行的是String(char[] arr, int offset, int length); -
char[] toCharArray();
——返回当前字符串对应的字符数组
1.6其他方法
- String replace(char oldChar, char newChar)
——替换,替换不会修改原始的字符串,而是创建一个新字符串返回,并且替换效果是所有的对应 的oldChar全部替换成newChar - String[] split(String regex)
——按照指定的字符串切割当前字符串 - String substring(int beginIndex)
——从指定位置开始,截取子字符串,到字符串末尾 - String substring(int beginIndex, int endIndex)
——从指定位置开始beginIndex,到endIndex结束,要头不要尾 - String toUpperCase()
——转大写字符串小写转大写 - String toLowerCase()
——转小写字符串大写转小写 - String trim()
——去除空格去除字符串两边的无用空格
2.IO流
知