一、String类的常用方法
length():求字符串的长度
indexOf():求某个字符在字符串中的位置
charAt():求一个字符串中某个位置的值
equals():比较两个字符串是否相同
replace():将字符串中的某些字符用别的字符替换掉。形如replace("abc","ddd"); 字符串中的abc将会被ddd替换掉。
split():根据给定正则表达式的匹配拆分此字符串。形如String s = "The time is going quickly ! "; str1 = s.split(" ");
substring():输出一个新的字符串,它是此字符串的子串,形如substring(3,7) ; 它将字符串中的第四个、第五个、第六个输出。
trim():将字符串开头的空白(空格)和尾部的空白去掉。
format():使用指定的语言环境、格式字符串和参数返回一个格式化字符串。
toLowerCase():将字符串中所有的大写改变成小写
toUpperCase():将字符串中所有的小写改变为大写
getBytes():获取字符串字节数组
二、String类中的intern()方法作用
intern()方法会首先从常量池中查找是否存在该常量值,如果常量池中不存在则现在常量池中创建,如果已经存在则直接返回。
比如
String s1 = "aa";
String s2 = s1.intern();
System.out.print(s1 == s2); //返回true
三、String str = "i" 与 String str = new String("i")一样吗
不一样,因为内存的分配方式不一样。String str = "i"; 的方式,Java虚拟机会将其分配到常量池中;而String str = new String("i"); 则会被分到堆内存中。
四、String 和 StringBuffer、StringBuilder 的区别
相同点:三个类都是处理字符串的类;
不同点:String是长度不可变字符串,StringBuffer 和 StringBuilder 是长度可变的字符串,维护一个缓冲区。
StringBuilder 线程不安全,效率高;StringBuffer线程安全,效率低;
五、Object类中常用方法
hashCode():计算对象成员的哈希值
equals():判断对象是否相等
clone():对对象进行clone
getClass():获取对象的Class字节码文件对象
wait():线程阻塞线程挂起等待
notify() ,nitifyAll():线程唤醒,线程就绪,继续运行
toString():获取对象信息,一般重写,默认返回地址值