经常会使用到String类的各种方法,有时有时候一时想不起来,所以整理一部分常用的。
String构造方法
- 直接创建或者创建空字符
String s = "java";//最常用
String s = new String();
- String(char[] c)把一个字符数组带入创建
char[] c = {'a', 'b', 'c','d'};
String s = new String(c);//abcd;
- String(char[] c, int offset, int length)截取字符数字的一段创建,offset是要截取字符数组的开始下表,length是要截取的长度。
char[] c = {'a', 'b', 'c','d'};
String s = new String(c,0,2);//ab;
String普通方法
-
length() 返回字符串长度
返回值 :int -
charAt(int index) ,返回索引出的char值
返回值 :char
String c = "java";
c.charAt(2);//v
- getChars(int sourceStart, int sourceEnd, char target[ ], int index)截取字符串到字符数组中,字符串截取下标为 [sourceStart,sourceEnd),左闭右开,index为目标数组的开始下标
返回值:void
String str1 = "HelloWorld";
char[] str2 = new char[10];
//char[] str2 = {'a', 'b', 'c','d'};//直接截取到这样的字符数组会下标越界,注意数组容量问题。
str1.getChars(0, 5, str2, 0); //截取字符串0到4下标的字符
//输出:Hello
- getBytes() 把字符串转换成byte数组
返回值:byte[ ] - toCharArray() 把字符串转换为char数组
返回值:char[ ]
String s = "java";
s.getBytes();//输出为java的byte数组
s.toCharArray();//输出为java的char数组。
- equals()和equalsIgnoreCase() //比较两个字符串是否相等,前者区分大小写,后者不区分
返回值 : boolean
String str1 = "HelloWorld";
String str2 = "helloworld";
System.out.println(str1.equals(str2));//false
System.out.println(str1.equalsIgnoreCase(str2)); //true
- toUpperCase() 和 toLowerCase() 把字符串转为大写和转为小写
String str = "HelloWorld";
System.out.println(str.toUpperCase());//HELLOWORLD
System.out.println(str.toLowerCase());//helloworld
- concat() 连接两个字符串
返回值:String
String str1 = "Hello";
String str2 = "World";
System.out.println(str1.concat(str2));//HelloWorld
- split(String regex) 根据regex来切分字符串
- split(String regex,int limit)根据regex来切分字符串,切割次数为limit(如果limit为负数,将最大程度切分,并数组可以任意长度。)
返回值: String[ ]
String str = "Hello World java lol";
String[] s = str.split(" ");//根据空格来切分
System.out.println(Arrays.toString(s));
//输出:[Hello, World, java, lol]
- replace() 替换两个字符串
返回值 :String
String a = "Hello Word";
String b = "你好";
System.out.println(a.replace(a, b));//你好
System.out.println(a.replace(a, "HELLO WORD"));//HELLO WORD
System.out.println(b.replace("你", "大家"));//大家好
参考:https://www.cnblogs.com/liujiquan/p/7808501.html