标签:
“好久没有写这个系列了。其实也有在看,不过觉得一些很基本的都写上来没意思。现在打算的是将整本书看完后,最后整合为一篇blog,筛选出一些平时没有注意到的或者更深入的理解”
在写程序中,字符串String的操作是非常多的。在平时用字符串就只用了一部分特性。这次我们来看看关于字符串主要有哪些操作方式。主要从以下几个方面讲解:String本身特性、String格式化输出、正则表达式、扫描输入类Scanner类。
一、String
我们在定义一个String对象的时候,比如String test = "snailren is so handsome".在以前我们就讲过,字符串的内容保存在静态存储区,test对象在堆。因此我们无法对String的内容进行修改。其他的String方法都是新创建的一个String。
在Java中,没有C++中的那种重载运算符(好开心)。仅仅就只有“+”和“+=”进行了重载。这两个重载非常好理解,可以用于String类型的连接。在连接字符串的时候,java编译器在实现的时候新建了一个StringBuilder类,调用该对象的append方法来实现的“+”的效果。
对于String、StringBuffer、StringBilder的选择,可以参考如下:“引用:
当我们在字符串缓冲去被多个线程使用是,JVM不能保证StringBuilder的操作是安全的,虽然他的速度最快,但是可以保证StringBuffer是可以正确操作的。当然大多数情况下就是我们是在单线程下进行的操作,所以大多数情况下是建议用StringBuilder而不用StringBuffer的,就是速度的原因。
对于三者使用的总结:1.如果要操作少量的数据用 = String
2.单线程操作字符串缓冲区 下操作大量数据 = StringBuilder
3.多线程操作字符串缓冲区 下操作大量数据 = StringBuffer”
在对
标签:
原文地址:http://www.cnblogs.com/ren-jie/p/5384633.html