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():获取字符串字节数组
intern()方法会首先从常量池中查找是否存在该常量值,如果常量池中不存在则在常量池中创建,如果已经存在则直接返回
比如:
String s1=”aa”;
String s2=s1.intern();
System.out.print(s1==s2);//true
不一样,因为内存的分配方式不一样。String str="i"的方式,Java 虚拟机会将其分配到常量池中;而 String str=new String(“i”) 则会被分到堆内存中
相同点:三者都是处理字符串的类
不同点:String 是长度不可变字符串,StringBuffer 和 StringBuilder 是长度可变的字符串,维护一个缓冲区。StringBuilder 线程不安全,效率高;StringBuffer 线程安全,效率低;
hashCode():计算对象成员的哈希值
equals():判断对象是否相等
clone():对对象进行 clone
getClass():获取对象的 Class 字节码文件对象
wait():线程阻塞,线程挂起等待
notify(),notifyAll():线程唤醒,线程就绪,继续运行
toString():获取对象的信息,一般重写,默认返回地址值