java常用类--String
String类常用构造器
构造器 说明
String() 初始化一个新创建的String对象,使其表示一个空字符序列。
例:String strEmpty = new String();//等价于""空字符串
String(byte【】 bytes) 通过使用平台的默认字符集解码指定的byte数组,构造一个新的String。
String(byte【】 bytes,Charset charset) 通过使用指定的charset 解码指定的byte数组,构造一个新的String。
String(byte【】 bytes,String charsetName) 通过使用指定的charset解码指定的byte数组,构造一个新String。
String(byte[]bytes, int offset, int length, Charset charset) | 通过使用指定的 charset 解码指定的 byte 子数组,构造一个新的 String。 |
| String(byte[] bytes, int offset, intlength, String charsetName) | 通过使用指定的字符集解码指定的 byte 子数组,构造一个新的 String。 |
| String(char[] value) 分配一个新的 String,使其表示字符数组参数中当前包含的字符序列。 |
| String(char[] value, int offset, intcount) 分配一个新的 String,它包含取自字符数组参数一个子数组的字符。 |
| String(String original) 初始化一个新创建的 String 对象,使其表示一个与参数相同的字符序列;换句话说,新创建的字符串是该参数字符串的副本。 |
String(StringBuffer buffer) 分配一个新的字符串,它包含字符串缓冲区参数中当前包含的字符序列。
|String(StringBuilder builder) 分配一个新的字符串,它包含字符串生成器参数中当前包含的字符序列。
字符串—编码方法1—二进制—编码方式2 ---字符串
如果 编码方式1=编码方式2 不会乱码
如果 编码方式1!=编码方式2 乱码
String常用判断方法
返回值类型 方法名称 说明
boolean equals(Object obj) 比较字符串的内容是否相同,区分大小写
boolean equalslgnoreCase(String str) 比较字符串的内容是否相同,忽略大小写
boolean contains(String str) 判断大写字符串中是否包含小写字符串
boolean startsWith(String str) 判断字符中是否以某个指定的字符串开头
boolean endsWith(String str) 判断字符串是否以某个指定的字符串结尾
boolean isEmpty() 判断字符串是否为空
例:String str1="abc";
String str2="ABC";String str3="faksnlfdbdknf.asfdanfdm.gnasfa.sgdn,fakfkdfkabc";str1.equals(str2);// equals大小写敏感 判断str1和str2相等? falsestr1.equalsIgnoreCase(str2);//equalsIgnoreCase忽略大小写,判断str1和str2相等?str3.contains(str1);//判断str3中是否包含str1 truestr3.contains("");//true 任何一个字符串都包含空字符串str1.startsWith("a");true 。startsWith 判断字符串是否以某个指定的字符串开头str2.endsWith("c");false. endsWith 判断字符串是否以某个指定的字符串结尾str1.isEmpty();//isEmpty() 判断字符串是否为空 .它是一个实例方法 false注:实例方法在实际使用中药注意null。如果为null就会报错。
String类常用的获取方法
返回值类型 方法名称 说明
【int】 length():获取字符串的长度
例:String str="adksfassfnsdfjadf";str.length();//17
【char】charAt(int index):获取指定索引位置的字符。
例:char char1=str.charAt(3);//s
【int】 IndexOf(int ch):返回指定字符在此字符串中第一次出现处的索引。
例:str.indexOf(char1);//3
【int】 IndexOf(int ch,int fromIndex):返回在此字符串中第一次出现指定字符处索引。从指定的索引开始搜索。
例:str.indexOf(char1,6));//从索引为6的位置开始找
【int】 indexOf(String str):返回指定子字符串在此字符串中第一次出现处的索引。
例:String str2="ksf";
str.indexOf(str2);//2
【int】 indexOf(String str,int fromIndex) 返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始。
【int】 lastIndexOf(intch) 返回指定字符在此字符串中最后一次出现处的索引。
int】 lastIndexOf(int ch,int fromIndex) 返回指定字符在此字符串中最后一次出现处的索引,从指定的索引处开始进行反向搜索。
【int】 lastIndexOf(Stringstr) 返回指定子字符串在此字符串中最右边出现处的索引。
【int】 lastIndexOf(Stringstr,int fromIndex) | 返回指定子字符串在此字符串中最后一次出现处的索引,从指定的索引开始反向搜索。
【String 】substring(int start) 从指定位置开始截取字符串,默认到末尾。
例:str.substring(6,10);//ssfn
String的常用转换方法
返回值类型 | 方法名称 | 说明
---------- | ------------------ |----------------------
byte[] getBytes() 把字符串转换为字节数组。
例: String str="中文12";
byte[] bytes1=str.getBytes(StandardCharsets.UTF_8);
char[] toCharArray() 把字符串转换为字符数组。
例:char[] chars=str.toCharArray();
for (char aChar:chars){
System.out.println(aChar+",");
}
String valueOf() 把传入的变量转成字符串
例:String str1=String.valueOf(10);
String toLowerCase() 把字符串转成小写。
例:String str4="ADFsg";str4.toLowerCase(Locale.ROOT)//adfsg
String toUpperCase() 把字符串转成大写。
例:str4.toUpperCase(Locale.ROOT);//ADFSG
String concat(String str) | 把字符串拼接。
例:String str5=str.concat("hhhh");//就是 + 符号
其他方法
返回值类型 方法名称 说明
String replace(char old,char new) : 返回一个新的字符串,它是通过用 newChar替换此字符串中出现的所有 oldChar 得到的。
例:String str=" sadsfafd ";String str1=str.replace('d','D');//替换字符
String replace(String old,String new):使用指定的字面值替换序列替换此字符串所有匹配字面值目标序列的子字符串。
例:String str2=str.replace("sa","Sa");//替换字符串
String trim() : 返回字符串的副本,忽略前导空白和尾部空白。
例:str.trim();//sadsfafd
int compareTo(String str) : 按字典顺序比较两个字符串。
例:String str3="abc";
String str4="abcd";
str3.compareTo(str4);//-1
注:前面完全相同的情况下,只是长度不同,前面一个减后面一个的长度。如果中间某一位出现了改变,编码顺序减后面那个编码顺序
int compareToIgnoreCase(Stringstr): 按字典顺序比较两个字符串,不考虑大小写。
String[] split(String regex) :根据给定正则表达式的匹配拆分此字符串
String[] split(String regex,int limit) :根据匹配给定的正则表达式来拆分此字符串。
例:String[] strings=str.split("d",2);//limit :限制返回分割的数组元素的个数。1个代表不分割,、0个代表无间隔
for (String string:strings){
System.out.println(string+",");
}
String类常用构造器
构造器 说明
String() 初始化一个新创建的String对象,使其表示一个空字符序列。
例:String strEmpty = new String();//等价于""空字符串
String(byte【】 bytes) 通过使用平台的默认字符集解码指定的byte数组,构造一个新的String。
String(byte【】 bytes,Charset charset) 通过使用指定的charset 解码指定的byte数组,构造一个新的String。
String(byte【】 bytes,String charsetName) 通过使用指定的charset解码指定的byte数组,构造一个新String。
String(byte[]bytes, int offset, int length, Charset charset) | 通过使用指定的 charset 解码指定的 byte 子数组,构造一个新的 String。 |
| String(byte[] bytes, int offset, intlength, String charsetName) | 通过使用指定的字符集解码指定的 byte 子数组,构造一个新的 String。 |
| String(char[] value) 分配一个新的 String,使其表示字符数组参数中当前包含的字符序列。 |
| String(char[] value, int offset, intcount) 分配一个新的 String,它包含取自字符数组参数一个子数组的字符。 |
| String(String original) 初始化一个新创建的 String 对象,使其表示一个与参数相同的字符序列;换句话说,新创建的字符串是该参数字符串的副本。 |
String(StringBuffer buffer) 分配一个新的字符串,它包含字符串缓冲区参数中当前包含的字符序列。
|String(StringBuilder builder) 分配一个新的字符串,它包含字符串生成器参数中当前包含的字符序列。
字符串—编码方法1—二进制—编码方式2 ---字符串
如果 编码方式1=编码方式2 不会乱码
如果 编码方式1!=编码方式2 乱码
String常用判断方法
返回值类型 方法名称 说明
boolean equals(Object obj) 比较字符串的内容是否相同,区分大小写
boolean equalslgnoreCase(String str) 比较字符串的内容是否相同,忽略大小写
boolean contains(String str) 判断大写字符串中是否包含小写字符串
boolean startsWith(String str) 判断字符中是否以某个指定的字符串开头
boolean endsWith(String str) 判断字符串是否以某个指定的字符串结尾
boolean isEmpty() 判断字符串是否为空
例:String str1="abc";
String str2="ABC";String str3="faksnlfdbdknf.asfdanfdm.gnasfa.sgdn,fakfkdfkabc";str1.equals(str2);// equals大小写敏感 判断str1和str2相等? falsestr1.equalsIgnoreCase(str2);//equalsIgnoreCase忽略大小写,判断str1和str2相等?str3.contains(str1);//判断str3中是否包含str1 truestr3.contains("");//true 任何一个字符串都包含空字符串str1.startsWith("a");true 。startsWith 判断字符串是否以某个指定的字符串开头str2.endsWith("c");false. endsWith 判断字符串是否以某个指定的字符串结尾str1.isEmpty();//isEmpty() 判断字符串是否为空 .它是一个实例方法 false注:实例方法在实际使用中药注意null。如果为null就会报错。
String类常用的获取方法
返回值类型 方法名称 说明
【int】 length():获取字符串的长度
例:String str="adksfassfnsdfjadf";str.length();//17
【char】charAt(int index):获取指定索引位置的字符。
例:char char1=str.charAt(3);//s
【int】 IndexOf(int ch):返回指定字符在此字符串中第一次出现处的索引。
例:str.indexOf(char1);//3
【int】 IndexOf(int ch,int fromIndex):返回在此字符串中第一次出现指定字符处索引。从指定的索引开始搜索。
例:str.indexOf(char1,6));//从索引为6的位置开始找
【int】 indexOf(String str):返回指定子字符串在此字符串中第一次出现处的索引。
例:String str2="ksf";
str.indexOf(str2);//2
【int】 indexOf(String str,int fromIndex) 返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始。
【int】 lastIndexOf(intch) 返回指定字符在此字符串中最后一次出现处的索引。
int】 lastIndexOf(int ch,int fromIndex) 返回指定字符在此字符串中最后一次出现处的索引,从指定的索引处开始进行反向搜索。
【int】 lastIndexOf(Stringstr) 返回指定子字符串在此字符串中最右边出现处的索引。
【int】 lastIndexOf(Stringstr,int fromIndex) | 返回指定子字符串在此字符串中最后一次出现处的索引,从指定的索引开始反向搜索。
【String 】substring(int start) 从指定位置开始截取字符串,默认到末尾。
例:str.substring(6,10);//ssfn
String的常用转换方法
返回值类型 | 方法名称 | 说明
---------- | ------------------ |----------------------
byte[] getBytes() 把字符串转换为字节数组。
例: String str="中文12";
byte[] bytes1=str.getBytes(StandardCharsets.UTF_8);
char[] toCharArray() 把字符串转换为字符数组。
例:char[] chars=str.toCharArray();
for (char aChar:chars){
System.out.println(aChar+",");
}
String valueOf() 把传入的变量转成字符串
例:String str1=String.valueOf(10);
String toLowerCase() 把字符串转成小写。
例:String str4="ADFsg";str4.toLowerCase(Locale.ROOT)//adfsg
String toUpperCase() 把字符串转成大写。
例:str4.toUpperCase(Locale.ROOT);//ADFSG
String concat(String str) | 把字符串拼接。
例:String str5=str.concat("hhhh");//就是 + 符号
其他方法
返回值类型 方法名称 说明
String replace(char old,char new) : 返回一个新的字符串,它是通过用 newChar替换此字符串中出现的所有 oldChar 得到的。
例:String str=" sadsfafd ";String str1=str.replace('d','D');//替换字符
String replace(String old,String new):使用指定的字面值替换序列替换此字符串所有匹配字面值目标序列的子字符串。
例:String str2=str.replace("sa","Sa");//替换字符串
String trim() : 返回字符串的副本,忽略前导空白和尾部空白。
例:str.trim();//sadsfafd
int compareTo(String str) : 按字典顺序比较两个字符串。
例:String str3="abc";
String str4="abcd";
str3.compareTo(str4);//-1
注:前面完全相同的情况下,只是长度不同,前面一个减后面一个的长度。如果中间某一位出现了改变,编码顺序减后面那个编码顺序
int compareToIgnoreCase(Stringstr): 按字典顺序比较两个字符串,不考虑大小写。
String[] split(String regex) :根据给定正则表达式的匹配拆分此字符串
String[] split(String regex,int limit) :根据匹配给定的正则表达式来拆分此字符串。
例:String[] strings=str.split("d",2);//limit :限制返回分割的数组元素的个数。1个代表不分割,、0个代表无间隔
for (String string:strings){
System.out.println(string+",");
}