码迷,mamicode.com
首页 > 编程语言 > 详细

Thinking in Java--第十三章-字符串

时间:2016-08-03 09:03:29      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:

写在前面:
要做的事太多了,写的blog不是很细。会写自己觉得好玩的、重要的地方。希望大家来尽情的讨论,分享自己的见解。让“思维的火花的碰撞”得以实现。


几乎每一种操作都会涉及到字符串,所以字符串特别重要。
13.1 不可变String
String类中看起来会修改String值得方法,实际上都是创建了一个全新的String对象,以包含修改后的字符串内容,而最初的String对象丝毫未动。


13.2 + 与 StringBuilder
StringBuilder要快很多,有兴趣的话可以分别写两个用+和StringBuilder的方法测一下时间。也可以配置环境变量后用javap -c classname(类名称)看一下JVM的字节码是什么样子的。

有循环的时候就用StringBuilder就好了
另外!

append/*一个字符串*/);

不要用类似这种

append(a + ":" + c);

这样编译器会调入陷阱,为你创建另外一个StringBuilder对象处理括号内的字符串操作。


13.3无意识的递归

System.out.println("String" + this);

这里,编译器看到一个String后面跟着一个+,其后面对象不是String,于是就会调用this的toString方法。那这个this.toString()方法可能也有this对象,于是就会一直递归下去。


13.4 String上的操作
自行google


13.5 格式化
就是一个formater类,举例

System.out.format("%d", x);

跟C很像


13.6 正则表达式
一种高效匹配字符串的方法。以后每天都会来分享几种


13.7 扫描输入
处理输入,把输入的数据分析出来
最好是用Scanner或者是正则表达式来分析扫描


13.8分割字符串
StringTokenizer
因为有了上面的两种,它已经被遗忘了==

Thinking in Java--第十三章-字符串

标签:

原文地址:http://blog.csdn.net/tyronerenekton/article/details/52097933

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!