写在前面:
要做的事太多了,写的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
因为有了上面的两种,它已经被遗忘了==
时间: 2024-10-12 21:07:56