java字符串面试题
时间: 2023-11-07 16:06:05 浏览: 122
Java中的字符串面试题主要包括以下几个方面:
1. String、StringBuilder和StringBuffer的区别是什么?
String是不可变的字符串对象,每次对字符串的修改都会创建一个新的字符串对象,效率较低。而StringBuilder和StringBuffer是可变的字符串对象,可以对字符串进行修改,不会创建新的对象,效率较高。StringBuilder是非线程安全的,适用于单线程环境;而StringBuffer是线程安全的,适用于多线程环境。
2. String str="i"与String str=new String("i")一样吗?
不一样。String str="i"会先在常量池中查找是否有值为"i"的字符串对象,如果没有,则创建一个新的字符串对象并放入常量池中,然后将该引用赋值给str。而String str=new String("i")会创建一个新的字符串对象,并将其存放在堆内存中,然后将该引用赋值给str。
3. 常见的String类的判断功能有哪些?
常见的String类的判断功能包括equals(Object obj)用于比较字符串的内容是否相同(区分大小写),contains(String str)用于判断字符串中是否包含传递进来的字符串,startsWith(String str)用于判断字符串是否以传递进来的字符串开头,endsWith(String str)用于判断字符串是否以传递进来的字符串结尾,isEmpty()用于判断字符串的内容是否为空串""。
阅读全文