常用类之String类(一)
1.简述
- String类是java.lang包下面,是Object的直接子类,并且是用final修饰的,故不能被继承。
- String修饰的字符串是不能被修改的,其所修饰的内容都被jvm放进常量池中,如果修改值,则会在常量池中重新创建存放地址
- 如果两个String修饰的量相同,则在常量池中指向相同的地址
- 两种创建字符串的方式:
String s3 = "hello"; String s4 = new String("world");
- 两种方式之间的区别:第一种仅仅是在常量池中创建字符串对象,而第二种还要在堆中再次创建一个字符串对象(所以建议使用第一种,减少内存使用)
- String类中已经重写了equals方法,String类中已经重写了equals方法,两个字符串的比较建议使用equal方法
- equal
2.intern()方法
作用:判断字符串在常量池中是否存在相同的字符串对象,如果有则返回,如果没有,则在常量池中创建一个,并返回该对象
3.String类中的常用方法
char charAt(int index);//获取index位置的字符
boolean contains(CharSequence s);//判断字符串中是否包含某个字符串
boolean endsWith(String endStr);//判断是否是以某个字符串结尾
boolean equalsIgnoreCase(String anotherString);//忽略大小写比较两个字符串是否相等
byte[] getBytes();//转换成byte数组(常用)
int indexOf(String str);//取得指定字符在字符串的位置
int indexOf(String str, int fromIndex);//从指定的下标开始取得指定字符在字符串的位置
int lastIndexOf(String str);//从后面开始取得指定字符在字符串最后出现的的位置
int lastIndexOf(String str, int fromIndex);//从后面开始指定的下标开始取得指定字符在字符串的位置
int length();//获取字符串的长度(常用)
String replaceAll(String s1,String s2);//替换字符串中的内容
String[] split(String s);//根据指定的表达式拆分字符串
boolean startsWith(String s);//判断是否是以某个字符串开始
String substring(int begin);//根据传入的索引位置截子串
String substring(int beginIndex, int endIndex);//根据传入的起始和结束位置截子串
char[] toCharArray();//将字符串转换为char数组(常用)
void toUpperCase();//转换为大写
void toLowerCase();//转换为小写
String trim();//去除首尾空格(常用)
String valueOf(Object obj);//将其他类型转换为字符串类型(常用)