基础认识:
String s1="abc";
String s2="abc"; //在常量池中创建对象
String s3=new String("abc"); //在堆内存中创建对象
s1==s2;(true)
s1==s3;(false)
在常量池中创建对象,会先去找这个对象是否在常量池中,如果有,这个原有常量的地址值会赋给现有的引用,如果没有,则新建一个对象
字符串类里的equals方法复写了Object类的方法,它比较的是字符串的内容
常用方法:
1)转换
1.1将数组转换成字符串:
在创建字符串对象的时候,在字符串构造方法里将数组传入;
String(byte[] bytes,int offset,int count);
1.2将字符串转换成字节数组:getBytes();
1.3将字符串转换成字符串数组:split();
1.4将字符串转换成字符数组:toCharArray();
1.5将字符串转换大小写:toUpperCase(), toLowerCase();
1.6将字符串的内容进行替换: String replace(char ch, char ch);
1.7将字符串两边的空格去除:String trim();
1.8将字符串进行连接:String contact(String str);
2)获取:
获取字符串长度:int length();
根据位置获取字符:char charAt(int index);
根据字符获取该字符在字符串中第一次出现的索引:int indexOf(int ch);
3)判断:
3.1判断两个字符串内容是否相等:boolean equals(String str);
3.2判断字符串是否包含指定字符串:boolean contains(String str);
3.3判断是否以指定字符串开头或结束:boolean startsWith(String str) endsWith(String str);
4)比较
int compareTo(String antherString);//按字典顺序比较字符串
如相等,返回0;小于,返回小于0的值;大于,返回大于0的值
String intern();可以对字符串池进行操作;
String s1=new String("abc");//在堆中操作
String s2=s1.intern();//在池中操作 |
|