面试题:String、StringBuffer、StringBuilder的区别与联系
2019-06-02 15:27
363 查看
上诉三个都属于常见对象(API):具体的使用方法此处不再详细列举
String类:
字符串:就是由多个字符组成的一串数据,也可以看成是一个字符数组,通过查看API可知:
(1)字符串字面值(如:“abc”)可以看成是一个字符串对象;
(2)字符串是常量,一旦被赋值就不能被改变,这也就是为什么说:String类为什么是final的原因。
String类的特点:
A:字符串直接赋值的方式是先到字符串常量池里面去找,如果有就直接返回;如果没有,就创建并返回。
B:一旦被赋值,就不能被改变。值不能变。
StringBuffer:
线程安全的可变字节。
面试题1:String s = new String("hello")和String s = "hello"有区别吗?
有区别。前者会创建两个对象,后者创建一个对象。(分析请看String类的特点介绍)
面试题2:有关此处看程序写结果的问题?
答:(1)字符串如果是变量相加,先开空间,再拼接;
(2)字符串如果是常量相加,先加,之后在变量池找,如果有就直接返回,没有,就创建。
面试题3:StringBuffer和String区别?
StringBuffer长度和内容可变,String内容和长度不可变。如果使用StringBuffer做字符串的拼接,不会浪费太多的资源。
面试题4:String、StringBuffer、StringBuilder的区别?
(1)String是内容不可变的,而StringBuffer、StringBuilder都是内容可变的。
(2)StringBuffer是同步的,数据安全的,但是效率低; StringBuilder是不同步的,数据不安全,相比于来说,效率高。
面试题5:StringBuffer和数组的区别?
二者都是可以看成是一个容器,装其他的数据,但StringBuffer的数据最终是一个字符串数据;而数组可以放置多种数据,但必须是同一种数据类型的。
相关文章推荐
- 面试题:String、StringBuffer、StringBuilder的区别与联系
- Java中String、StringBuffer、StringBuilder的联系和区别
- String,StringBuffer,StringBuilder的区别与联系
- String, StringBuilder 与StringBuffer的区别与联系
- Java 学习笔记 04 String 、StringBuilder 和 StringBuffer区别和联系
- String,StringBuffer,StringBuilder之间的区别和联系
- 九 String、StringBuffer和StringBuilder的区别和联系
- String, StringBuilder 与StringBuffer的区别与联系
- String,StringBuffer和StringBuilder的区别和联系
- StringBuilder、StringBuffer和String三者的联系和区别
- StringBuilder、StringBuffer和String三者的联系和区别
- String, StringBuilder 与StringBuffer的区别与联系
- String,StringBuffer,StringBuilder之间的区别和联系
- String , StringBuffer 和 StringBuilder 的联系与区别
- StringBuilder、StringBuffer和String三者的联系和区别
- java String,StringBuffer,StringBuilder区别及联系
- 高级面试题-String-StringBuilder-StringBuffer 的区别
- StringBuilder、StringBuffer和String三者的联系和区别
- StringBuilder、StringBuffer和String三者的联系和区别
- 【java面试题】StringBuilder与StringBuffer和String 的区别