标签:匹配 string 内容 方法 换行符 自动 而在 对象 stringbu
string对象是不可变的,string中每一个看起来会修改string值的方法,其实都是创建一个新的string对象以包含修改后的内容.
因为string对象不可变,因此使用‘+‘连接很多字符串会导致巨大的性能浪费,最终生成之前会产生大量的中间对象,而在新的编译器中,已经可以自动优化,通过使用stringBuilder优化性能
但是,如果连接字符串使用了循环,那么最好自己调用stringBuilder,因为编译器每循环一次就会生成一个新的stringBuilder
当编写toString()方法时,如果使用了"xxx"+this的写法将会隐式的触发递归,因为当编译器发现this与字符串相加时会调用this的tostring()方法导致递归,如果想打印对象的地址,应该使用super.toString(),也就是object.toString()
printf()或是format() 两者是等价的
实际上java中的所有格式化功能都是由java.util.Formatter类提供的.
string类中拥有一个string.format()方法 , 使用方式同printf, 但是并不打印, 而是返回格式化后的字符串.通常可以优先使用,虽然string.format方法内部也是使用Formatter类,但是比自己调用代码更加简洁.
java中正则表达式的‘\‘与其他语言不通, ‘\‘代表要插入一个正则表达式的‘\‘,例如要匹配一位数字‘\d‘ .
而如果想插入真正的一个反斜杠,需要‘\\‘.
而换行符制表符之类只需要使用一个‘\‘.
等待日后慢慢学习
标签:匹配 string 内容 方法 换行符 自动 而在 对象 stringbu
原文地址:http://www.cnblogs.com/renluxiang/p/788084b88c33f9d20438092c8960fc89.html