学习目标:
String类方法详细讲解
学习内容:
1、value属性
了解String类的value属性:
private final char value[] ; //String类的不可变特性就是在这里体现的。
私有的 不可更改的char类型的数组。
2.String类的构造方法
掌握String类的构造方法,用于创建对象。
String str = "abc"; //该方式创建的对象存在于字符串常量池中
String str1 = new String("abc");//参数是String类型的 //该方式创建的对象存在于堆内存中,开辟了对象空间,对象的value数组中存储着a,b,c三个字符。
char[] charArray = {
'a','b','c','d','e','f'};
String str2 = new String(charArray);- //参数是字符类型数组 //该方式是将字符数组中的字符都存储在新对象的value数组中。
String string1 = new String(charArray,2,5); //三个参数,第一个是给定数组,第二个是从那个索引位置开始,拿几个
System.out.println(s6);
byte[] byteArray = {
1,2,3,4,5,6};
String string2 = new String(byteArray,2,4);- //参数是byte类型数组 //该方式是将byte数组中的数字都存储在新对象的value数组中。
String s2 = new String(charArray,2,5); //三个参数,第一个是给定数组,第二个是从那个索引位置开始,拿几个
System.out.println(s6);
String str4 = ""; //创建空字符串
String str5 = new String("");//创建空字符串
StringBuffer sbr = new StringBuffer();
String str6 = new String(sbr); //参数是StringBuffer类型的,如果看不懂这个可以跳过,等String类学完之后学习StringBuffer自然明白。
StringBuilder sbr1 = new StringBuilder();
String str7 = new String(sbr1); //参数是StringBuffer类型的,如果看不懂这个可以跳过,等String类学完之后学习StringBuffer自然明白。
3、indexOf()
掌握String类的indexOf()方法,该方法存在方法重载,返回值为int类型。
String str = "abcdabcd";
System.out.println(str.indexOf('b')); //从索引为0的位置开始找b字符 //1
System.out.println(str.indexOf("bc")); //从索引为0的位置开始找bc字符串 //1
System.out.println(str.indexOf("b",str.indexOf("b")+1));//从索引为0的位置开始找b字符串,然后以b字符串的索引加1的位置开始找第二个b字符串 //5
System.out.println(str.indexOf('b',str.indexOf('b')+1));//从索引为0的位置开始找b字符,然后以b字符串的索引加1的位置开始找第二个b字符 //5
4、LastIndexOf()
掌握String类的LastIndexOf()方法,该方法存在方法重载,返回值为int类型。
System.out.println(str.lastIndexOf('b'));//从索引为str.length-1的位置开始从尾到头找b字符,找到后返回其索引 //5
System.out.println(str.lastIndexOf("bc"));//从索引为str.length-1的位置开始从尾到头找bc字符串,找到后返回其索引 //5
System.out.println(str.lastIndexOf("b",str.lastIndexOf("b")-1));//从索引为str.length-1的位置开始从尾到头找b字符串,然后用其索引-1的位置开始继续从尾到头找第二个b字符串 //1
System.out.println(str.lastIndexOf('b'</