Java面试题整理常用类部分

一、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():获取对象信息,一般重写,默认返回地址值

你可能感兴趣的:(java)