探秘Java中的String、StringBuilder以及StringBuffer
探秘Java中String、StringBuilder和StringBuffer 相信String这个类是Java中使用得最频繁的类之1,并且又是各大公司面试喜欢问到的地方,今天就来和大家1起学习1下String、StringBuilder和StringBuffer这几个类,分析它们的异同点和了解各个类适用的场景。下面是本文的目录大纲: 1.你了解String类吗? 2.深入理解String、StringBuffer、StringBuilder 3.不同场景下3个类的性能测试 4.常见的关于String、StringBuffer的面试题(辟谣网上流传的1些歪曲String类的说法) 若有不正的地方,请多多体谅和指正,不胜感激。 请尊重作者劳动成果,转载请标明转载地址: http://www.cnblogs.com/dolphin0520/p/3778589.html 1.你了解String类吗?想要了解1个类,最好的办法就是看这个类的实现源代码,String类的实现在 jdk1.6.0_14srcjavalangString.java 文件中。 打开这个类文件就会发现String类是被final修饰的:
从上面可以看出几点: 1)String类是final类,也即意味着String类不能被继承,并且它的成员方法都默许为final方法。在Java中,被final修饰的类是不允许被继承的,并且该类中的成员方法都默许为final方法。在初期的JVM实现版本中,被final修饰的方法会被转为内嵌调用以提升履行效力。而从Java SE5/6开始,就渐渐摈弃这类方式了。因此在现在的Java SE版本中,不需要斟酌用final去提升方法调用效力。只有在肯定不想让该方法被覆盖时,才将方法设置为final。 2)上面罗列出了String类中所有的成员属性,从上面可以看出String类实际上是通过char数组来保存字符串的。 下面再继续看String类的1些方法实现: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |