且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

6.[Think in Java笔记]字符串

更新时间:2022-09-08 15:53:19

不可变String

String对象是不可变的。

String类中的每一次看起来会修改String值的方法,实际上都是创建了一个新的String对象。

重载 "+"与StringBuilder

String mango = "mango";

String s = "abc" + mango + "def"+ 47;

String对象重载的"+操作符在应用与特定的类时,被赋予特殊的意义。

编译器自动引入java.lang.StringBuilder类。创建一个StringBuilder独享,用以构建最终的String,并为每个字符串调用一次StringBuilder的append()方法,总计四次,最后调用toString()生成结果。

String的操作

构造器:创建String对象

length():String中的字符的个数

charAt():取得String中该索引位置上的char

getChars(),getBytes():复制char或byte到一个目标数组中

toCharArray():生成一个char[],包含String的所有字符

equals(),equalsIgnoreCase():比较两个String的内容是否相等

compareTo():按词典顺序比较String的内容,比较结果为负数、零或整数,大小写并不等价

contains():如果该String对象包含参数的内容,则返回true

contentEquals():如果该String与参数的内容完全一致,则返回true

equalsIgnoreCase():忽略大小写,如果两个String的内容相同,则返回true

regionMatcher():返回boolean结果,以表明所比较区域是否相等

startWith():返回boolean结果,以表明该String是否以此参数起始

endsWith():返回boolean结果,以表明此参数是否该字符串的后缀

indexOf(),lastIndexOf():如果该String并不包含此参数,则返回-1;否则返回此参数在String中的起始索引。lastIndexOf是从后向前搜索

substring()(subSequence()):返回一个新String,已包含参数指定的子字符串

concat():返回一个新String,内容为原始String连接上参数String

replace():返回替换字符后的新String,如果没有替换发生,则返回原始的String

toLowerCase() toUperCase():将字符的大小写改版后,返回一个新String,如果没有发生改变,则返回原始的String

trim():将String两端的空白字符删除后,返回一个新String,如果没有发生改变,返回原始String

valueOf():返回一个表示参数内容的String

intern():为每个唯一的字符串序列生成一个且仅生成一个String引用










本文转自 LinkedKeeper 51CTO博客,原文链接:http://blog.51cto.com/sauron/1229253,如需转载请自行联系原作者