前言
String、StringBuilder、StringBuffer 之间的关联与区别是java面试中经常被问到的问题,虽然很基础,但是仍然要引起面试者的注意,避免踩坑。
一、了解String类
看下String类的源代码:
从上面可以看出以下几点:
1、String类是final类,也即意味着String类不能被继承,并且它的成员方法都默认为final方法。在Java中,被final修饰的类是不允许被继承的,并且该类中的成员方法都默认为final方法。在早期的JVM实现版本中,被final修饰的方法会被转为内嵌调用以提升执行效率。而从Java SE5/6开始,就渐渐摈弃这种方式了。因此在现在的Java SE版本中,不需要考虑用final去提升方法调用效率。只有在确定不想让该方法被覆盖时,才将方法设置为final。
2、上面列举出了String类中所有的成员属性,从上面可以看出String类其实是通过char数组来保存字符串的。
下面再继续看String类的一些方法实现:
版权声明:本文为KevinChen2019原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。