String类字符串类的常用方法
一、字符与字符串之间
1,public String(char[] value)
构造方法,将字符数组变作String类对象
2,public char[] toCharArray()
普通方法,将String对象转化为字符数组对象
//1,public String(char[] value) 构造方法,将字符数组变作String类对象
//2,public char[] toCharArray() 普通方法,将String对象转化为字符数组对象
char[] char1 = new char[] {'a','b','c','d'};
String str1 = new String(char1);
System.out.println(str1);
char[] char2 = str1.toCharArray();
print(char2);
3.public String(char[] value,int offset , int count)
构造方法,将部分字符数组变作String;从下标offset开始,向后数count个
//3.public String(char[] value,int offset , int count)
//构造方法,将部分字符数组变作String;
//从下标offset开始,向后数count个
char[] char3 =new char[] {'a','b','c','d'};
String str3 = new String(char3,1,2);
System.out.println(str3);
4.public.char charAt(int index)
普通方法,返回指定索引对应的字符信息
//4.public.char charAt(int index)
//普通方法,返回指定索引对应的字符信息
System.out.println(str3.charAt(0));
二、字节与字符串之间
1,public String(byte[] value)
构造方法,将字符数组变作String类对象
2,public String(byte[] value,int offset ,int count)
构造方法,将部分字符数组变作String类对象
//二、字节与字符串之间
//1,public String(byte[] value) 构造方法,将字符数组变作String类对象
//2,public String(byte[] value,int offset ,int count)
// 构造方法,将部分字符数组变作String类对象
byte[] byte1 = new byte[] {97,98,100,108,105};
System.out.println(new String(byte1)); //abdli
System.out.println(new String(byte1,0,2));//ab
3.public byte[] getBytes()
普通方法,将字符串变为字节数组
//3.public byte[] getBytes()
//普通方法,将字符串变为字节数组
String str5 ="hello";
print(str5.getBytes()); //104 101 108 108 111
三、字符串的比较
1,public boolean equal(String anObject)
进行相等判断
2,public boolean equalIgnoreCase(String anObject);
进行相等判断,不区分大小写
3,public int compareTo(String anObject)
判断两个字符串的大小()按字节编码比较
=0;表示相等 >0:表示大于的结果 <0 :表示小于
//三、字符串的比较
//1,public boolean equal(String anObject); 进行相等判断
//2,public boolean equalIgnoreCase(String anObject);
// 进行相等判断,不区分大小写
//3,public int compareTo(String anObject);
//判断两个字符串的大小()按字节编码比较
//=0;表示相等 >0:表示大于的结果 <0 :表示小于
String str6 = "hello";
System.out.println(str6.equals("HELLO")); //false
System.out.println(str6.equalsIgnoreCase("HELLO"));//true
System.out.println(str6.compareTo("HELLO")); //32
System.out.println("HELLO".compareTo(str6)); //-32
System.out.println(str6.compareTo("hello")); //0
四、字符串的查找
1.public boolean contains(String s)
判定子字符串是否存在
//1.public boolean contains(String s)
//判定子字符串是否存在
String str7 = "abcdefgh";
System.out.println(str7.contains("def")); //true
System.out.println(str7.contains("dec")); //false
2.public int indexOf(String str)
由前向后查找指定字符串的位置,若查找到则返回第一个数的位置,
若查找不到则返回-1
//2.public int indexOf(String str)
//由前向后查找指定字符串的位置,若查找到则返回第一个数的位置,
// 若查找不到则返回-1
System.out.println(str7.indexOf("def")); //3
System.out.println(str7.indexOf("dec")); //-1
3.public int lastIndexOf(String str)
由后向前查找指定字符串的位置,若查找到则返回第一个数的位置,
若查找不到则返回-1
//3.public int lastIndexOf(String str)
//由后向前查找指定字符串的位置,若查找到则返回第一个数的位置,
// 若查找不到则返回-1
System.out.println(str7.lastIndexOf("def")); //3
System.out.println(str7.lastIndexOf("dec")); //-1
4.public boolean startsWith(String str)
是否以指定字符串开头
//4.public boolean startsWith(String str)
//是否以指定字符串开头
System.out.println(str7.startsWith("abc")); //true
System.out.println(str7.startsWith("abd")); //false
5.public boolean endsWith(String str)
是否以指定字符串结尾
//5.public boolean endsWith(String str)
//是否以指定字符串结尾
System.out.println(str7.endsWith("abc")); //false
System.out.println(str7.endsWith("fgh")); //true
五、字符串的替换
1,public String replace(String target,String replacement)
用新的内容替换首个旧的内容
2,public String replaceALL(String target,String replacement)
用新的内容替换全部旧的内容
//五、字符串的替换
//1,public String replace(String target,String replacement)
//用新的内容替换首个旧的内容
String str8 = "hello world";
String str8ResultA =str8.replace("l","-");
System.out.println(str8ResultA); //he-lo world
//2,public String replaceALL(String target,String replacement)
//用新的内容替换全部旧的内容
String str8ResultB =str8.replaceFirst("l","-");
System.out.println(str8ResultB); //he--o wor-d
六、字符串的截取
1.public String substring(int beginindex)
从指定索引截取到末尾
2.public String substring(int beginindex,int endindex)
从指定索引截取到指定位置
//六、字符串的截取
//1.public String substring(int beginindex)
//从指定索引截取到末尾
//2.public String substring(int beginindex,int endindex)
//从指定索引截取到末尾
String str9 = "hello world";
System.out.println(str9.substring(3)); //lo world
System.out.println(str9.substring(3,8)); // lo wo
七、字符串的拆分
1.public String[] split (String regex)
按照指定的字符串为间隔拆分
2.public String[] split (String regex,int limit)
按照指定的字符串为间隔拆分,并限制字符串数组格式
//七、字符串的拆分
//1.public String[] split (String regex)
//按照指定的字符串为间隔拆分
String str10 = "hello world thanks";
String[] str =str10.split(" ");
print(str);
//输出结果 hello
// world
// thanks
//2.public String[] split (String regex,int limit)
//按照指定的字符串为间隔拆分,并限制字符串数组格式
String[] strA =str10.split(" ",2);
print(strA);
//输出结果 hello
// world thanks
//Demo 一个较为复杂的拆分
String info = "张三:20:男|李四:25:男|王五:25:女";
String[] result = info.split("\\|"); //添加转义符号,与正则表达式的操作有关?
for(String strInfo:result){
String[] temp = strInfo.split(":");
System.out.println("name:"+temp[0]+" age:"+temp[1]+" sex"+temp[2]);
}
//结果:
//name:张三 age:20 sex男
//name:李四 age:25 sex男
//name:王五 age:25 sex女
八:其他方法
1,public String toLowerCase()
转小写
2,public String toUpperCase()
转大写
3,public String trim()
去掉开头和结尾的空格,保留中间的空格
4,public int length()
返回字符串长度
5,public boolean isEmpty()
判断是否为空
// 八:其他方法
//1,public String toLowerCase()
//转小写
//2,public String toUpperCase()
//转大写
String str11 = "HeLLo";
System.out.println(str11.toLowerCase()); //hello
System.out.println(str11.toUpperCase()); //HELLO
//3,public String trim()
//去掉开头和结尾的空格,保留中间的空格
String str12 = " HeLLo world ";
System.out.println(str12.trim()); //HeLLo world
//4,public int length()
//返回字符串长度
System.out.println(str12.length()); //17
//5,public boolean isEmpty()
//判断是否为空
System.out.println(str12.isEmpty()); //false
System.out.println("".isEmpty()); //true
九、全部测试代码
package Chapter03;
public class StringsMethod {
public static void main(String[] args) {
//一、字符与字符串之间
//1,public String(char[] value) 构造方法,将字符数组变作String类对象
//2,public char[] toCharArray() 普通方法,将String对象转化为字符数组对象
char[] char1 = new char[] {'a','b','c','d'};
String str1 = new String(char1);
System.out.println(str1);
char[] char2 = str1.toCharArray();
print(char2);
//3.public String(char[] value,int offset , int count)
//构造方法,将部分字符数组变作String;
//从下标offset开始,向后数count个
char[] char3 =new char[] {'a','b','c','d'};
String str3 = new String(char3,1,2);
System.out.println(str3);
//4.public.char charAt(int index)
//普通方法,返回指定索引对应的字符信息
System.out.println(str3.charAt(0));
//二、字节与字符串之间
//1,public String(byte[] value) 构造方法,将字符数组变作String类对象
//2,public String(byte[] value,int offset ,int count)
// 构造方法,将部分字符数组变作String类对象
byte[] byte1 = new byte[] {97,98,100,108,105};
System.out.println(new String(byte1)); //abdli
System.out.println(new String(byte1,0,2));//ab
//3.public byte[] getBytes()
//普通方法,将字符串变为字节数组
String str5 ="hello";
print(str5.getBytes()); //104 101 108 108 111
//三、字符串的比较
//1,public boolean equal(String anObject); 进行相等判断
//2,public boolean equalIgnoreCase(String anObject);
// 进行相等判断,不区分大小写
//3,public int compareTo(String anObject);
//判断两个字符串的大小()按字节编码比较
//=0;表示相等 >0:表示大于的结果 <0 :表示小于
String str6 = "hello";
System.out.println(str6.equals("HELLO")); //false
System.out.println(str6.equalsIgnoreCase("HELLO"));//true
System.out.println(str6.compareTo("HELLO")); //32
System.out.println("HELLO".compareTo(str6)); //-32
System.out.println(str6.compareTo("hello")); //0
//四、字符串的查找
//1.public boolean contains(String s)
//判定子字符串是否存在
String str7 = "abcdefgh";
System.out.println(str7.contains("def")); //true
System.out.println(str7.contains("dec")); //false
//2.public int indexOf(String str)
//由前向后查找指定字符串的位置,若查找到则返回第一个数的位置,
// 若查找不到则返回-1
System.out.println(str7.indexOf("def")); //3
System.out.println(str7.indexOf("dec")); //-1
//3.public int lastIndexOf(String str)
//由后向前查找指定字符串的位置,若查找到则返回第一个数的位置,
// 若查找不到则返回-1
System.out.println(str7.lastIndexOf("def")); //3
System.out.println(str7.lastIndexOf("dec")); //-1
//4.public boolean startsWith(String str)
//是否以指定字符串开头
System.out.println(str7.startsWith("abc")); //true
System.out.println(str7.startsWith("abd")); //false
//5.public boolean endsWith(String str)
//是否以指定字符串结尾
System.out.println(str7.endsWith("abc")); //false
System.out.println(str7.endsWith("fgh")); //true
//五、字符串的替换
//1,public String replace(String target,String replacement)
//用新的内容替换首个旧的内容
String str8 = "hello world";
String str8ResultA =str8.replace("l","-");
System.out.println(str8ResultA); //he-lo world
//2,public String replaceALL(String target,String replacement)
//用新的内容替换全部旧的内容
String str8ResultB =str8.replaceFirst("l","-");
System.out.println(str8ResultB); //he--o wor-d
//六、字符串的截取
//1.public String substring(int beginindex)
//从指定索引截取到末尾
//1.public String substring(int beginindex,int endindex)
//从指定索引截取到末尾
String str9 = "hello world";
System.out.println(str9.substring(3)); //lo world
System.out.println(str9.substring(3,8)); // lo wo
//七、字符串的拆分
//1.public String[] split (String regex)
//按照指定的字符串为间隔拆分
String str10 = "hello world thanks";
String[] str =str10.split(" ");
print(str);
//输出结果 hello
// world
// thanks
//2.public String[] split (String regex,int limit)
//按照指定的字符串为间隔拆分,并限制字符串数组格式
String[] strA =str10.split(" ",2);
print(strA);
//输出结果 hello
// world thanks
//Demo 一个较为复杂的拆分
String info = "张三:20:男|李四:25:男|王五:25:女";
String[] result = info.split("\\|"); //添加转义符号,与正则表达式的操作有关?
for(String strInfo:result){
String[] temp = strInfo.split(":");
System.out.println("name:"+temp[0]+" age:"+temp[1]+" sex"+temp[2]);
}
//结果:
//name:张三 age:20 sex男
//name:李四 age:25 sex男
//name:王五 age:25 sex女
//八:其他方法
//1,public String toLowerCase()
//转小写
//2,public String toUpperCase()
//转大写
String str11 = "HeLLo";
System.out.println(str11.toLowerCase()); //hello
System.out.println(str11.toUpperCase()); //HELLO
//3,public String trim()
//去掉开头和结尾的空格,保留中间的空格
String str12 = " HeLLo world ";
System.out.println(str12.trim()); //HeLLo world
//4,public int length()
//返回字符串长度
System.out.println(str12.length()); //17
//5,public boolean isEmpty()
//判断是否为空
System.out.println(str12.isEmpty()); //false
System.out.println("".isEmpty()); //true
}
public static void print(char [] chars)
{
for(int i=0 ;i<chars.length ;i++)
System.out.print(chars[i]+" ");
System.out.println();
}
public static void print(byte [] chars)
{
for(int i=0 ;i<chars.length ;i++)
System.out.print(chars[i]+" ");
System.out.println();
}
public static void print(String[] str)
{
for(int i=0 ;i<str.length ;i++)
System.out.println(str[i]);
System.out.println();
}
}