您的位置:首页 > 编程语言 > Java开发

JAVA编程思想学习总结:第十三章字符串

2015-05-31 16:31 495 查看
这一章是我学习JAVA以来学习最快的一章。主要是很多地方和JS的字符串处理非常类似。

(1)String,StringBuilder,StringBuffer

String对象是不可变的,并且可以通过+与+=这两个重载过的操作符进行字符串的连接。如果只是少量的字符串操作建议使用这个。
StringBuilder对象是可改变的,并且它的连接操作效率要优于String通过+与+=号,当有大量的这种操作时建议使用这个。
StringBuffer是线程安全的,因此开销会大些,其它类同StringBuilder。
import java.util.ArrayList;
import java.util.List;

public class InfiniteRecursion {
public String toString(){
//return " InfiniteRecursion address: "+this+"\n";//此处this的调用会导致该函数不断递归调用,因此程序报错
return " InfiniteRecursion address: "+super.toString()+"\n";
}
public static void main(String[] args){
List<InfiniteRecursion> v=new ArrayList<InfiniteRecursion>();
for(int i=0;i<10;i++)
v.add(new InfiniteRecursion());
System.out.println(v);
}
}
在toString方法中应该避免使用this通过+或+=进行字符串的连接操作,这会导致toString函数的不断递归调用。

(2)格式化输出

学习Formatter类及它的相关方法的使用(非常类似C中的print函数)。

(3)正则表达式

由于已经学习过JS的正则表达式了,学习java的正则表达并没有什么难度。
有一点要注意的是:在其他语言中,\\表示我想要在正则表达式中插入一个普通的(字面上的)反斜线,请不要给它任何特殊的意义。而在java中,\\的意思是我要插入一个正则表达式的反斜线,其后的字符具有特殊的意义。
学习字符串与正则表达式相关的方法,学习Patten类,学习Matcher方法。

(4)扫描输入

学习Scanner类,该对象与正则表达式相关的方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: