重要方法
1.intern():把指向转向到方法区
String str1="abc";
String str2=new String("abc");
//把指向转向到方法区
str2=str2.intern();
//str1=str1.intern();
//
System.out.println(str1==str2);
2.isEmpty():判断字符串对象内容是否为空
//空串---对象已经创建但是没有具体内容
String str1="";//空串
String str2=new String();//空串
String str3=new String("");//空串
//null---地址值不指向任何内存区域
//空不是null,null不是空
String str4=null;
//判断字符串对象是否是空串
System.out.println(str3.isEmpty());
3.matches():填入正则语法来匹配对应信息
package cn.r.pattern;
public class PatternDemo1{
public static void main(String[]args){
Stringstr="1";
//匹配内容只有abc的字符串
//正则提供的语法---可以直接写出匹配内容
//System.out.println(str.matches("abc"));
//匹配内容只有一个数字的字符串
//[起始-结束]---匹配起始到结束范围内的任意一个数据
//System.out.println(str.matches("[0-9]"));
//\\d--字符串转义--\d--正则转义--[0-9]
System.out.println(str.matches("\\d"));
//.代表一个任意字符
//*代表数量词,表示前面的符号可以出现次数
//*代表可以不出现也可以出现多次
//System.out.println(str.matches(".*"));
}
}
4.replaceAll():根据填入正则语法来匹配对应信息,再把匹配到的信息替换成新的指定内容
package cn.r.pattern;
import java.util.Arrays;
public class PatternDemo2{
public static void main(String[]args){
String str="我2是3大4776";
//根据正则匹配的信息替换成新的内容
//System.out.println(str.replaceAll("\\d","*"));
//对字符串数字进行排序
//把字符串中所有的非数字字符替换成空串
//调用方法返回的新串给原串来赋值
str=str.replaceAll("\\D","");
//转成字符数组
char[] cs=str.toCharArray();
//排序
Arrays.sort(cs);
//
System.out.println(Arrays.toString(cs));
}
}
5.split():根据填入正则语法匹配对应信息,把匹配到信息当做切割符来切割字符串
package cn.r.pattern;
import java.util.Arrays;
public class PatternDemo3{
public static void main(String[]args){
String str="16asd4dv699f7a80";
//根据填入正则语法匹配对应信息,把匹配到信息当做成切割符来切割字符串
//当切割符出现在后面直接切掉,当出现在前面切出空串
//当切割符出现多个且在前面有几个切割符就切割出几个空串
//当切割符出现多个且在中间有几个切割符就切割出个数减一个空串
//当切割符出现多个且在后面无论有几个切割符都要切掉
String[] ss=str.split("\\d");
//输出数组内容
System.out.println(Arrays.toString(ss));
}
}
6.replace():把指定内容替换成新的内容
String str="wejhevbe";
//把指定的内容替换成新的内容
System.out.println(str.replace('e','+'));
7.subString():根据指定下标来截取子串
String str="wdjhfb";
//按照指定下标来截取子串
System.out.println(str.substring(2));
//左包右不包(含头不含尾)
System.out.println(str.substring(1,4));
8.toLowerCase/toUpperCase:转小写/大写
9.toString():String类重写Object类里方法,获取对象时获取的是对象的内容而不是地址值(字符处对象有地址值)
10.trim():把前面和后面的空格删除
public static void main(String[]args){
Stringstr="dfv\t7";
System.out.println(str+"A");
//删除开头以及结尾的空格---掐头去尾
System.out.println(str.trim()+"A");
}
11.valueOf():支持所有类型数据转成字符串形式
package cn.r.string;
public class StringDemo4{
public static void main(String[]args){
/*//把double类型数据转成字符串形式的数据
Strings=String.valueOf(2.3);
//把boolean类型数据转成字符串形式的数据
Strings1=String.valueOf(true);
System.out.println(s1);*/
int[] arr={1,2,3};
//底层String.valueOf()接收arr数组
//调用Object类里toString方法拼接地址值来返回
System.out.println(arr);
char[] cs={'a','b','5'};
//底层没有执行String.valueOf方法没有调用Object类里
//toString方法没有拼接地址值,直接输出的是内容
System.out.println(cs);
//直接用数组对象调用Object类里toString来拼接地址值
System.out.println(cs.toString());
}
}