String对象是不可变的。
重载“+” 与 StringBuidler,StringBuffer
重载:一个操作符在应用于特定的类时,被赋予了特定的意义如“+”可以用来连接String。
因为String对象拥有只读性,所以只想他的任何引用都不可能改变它的值,因此也就不会对其他的引用由什么影响。
StringBuider与StringBuffer都是用来拼接字符串的,他们效率高于String因为在做字符串拼接时他们只会生成一个StringBuider或StringBuffer。他们区别在于StringBuffer是线程安全的。他们提供了丰富的方法包括insert()、repleace()、subString()、reverse()、append()和toString()。
String上的操作
当需要改变字符串的内容时,String类的方法都会返回一个新的String对象。同事,如果内容没有发生改变,String的方法只是返回只想源对象的引用而已。
方法 | 参数,重载版本 | 应用 |
length() | String中字符的个数 | |
charAt | Int索引 | 取得String中该所已位置上的char |
getChars(),getBytes() | 要复制部分的起点和终点的索引,复制的目标数组,目标数组的其实索引。 | 复制char或者byte到一个目标数组中 |
toCharArray() | 生成一个Char[],包含String所有的字符 | |
equals(),equalsIgnoreCase() | 与之进行比较的String | 比较两个String的内容是否相同 |
compareTo() | 与之进行比较的String | 按词典顺序比较String的内容比较结果为负数、零或正数,注意大小写并不等价。 |
contains() | 要搜索的CharSequence | 如果该String对象包含参数内容,则返回true |
contentEquals() | 与之进行比较的CharSequence或StringBuffer | 如果该String与参数的内容完全一致则返回true |
equalsIgnoreCase() | 与之进行比较的String | 忽略大小写,如果两个String的内容相同则返回true |
regionMatcher() | 该索引的偏移量,另一个String以及其索引的偏移量,要比较的长度。重载版添加了“忽略大小写”功能 | 返回boolean结果,以表明所比较区域是否相等 |
startsWith() | 可能的起始String。重载版本在参数中添加了偏移量 | 返回boolean结果以表明该String是否以此参数起始。 |
endsWith() | 该String可能的后最String | 返回boolean结果以表明该String是否以此参数后缀。 |
indexOf(),lastindexOf() | 重载版本包括:char,char与起始索引,String,String与起始索引 | 如果该String不包含此参数,就返回-1,否则返回该参数在String中的起始索引。lastindexOf()是从后向前搜索 |
subString()(subSequence()) | 重载版本:起始索引;起始索引+终点坐标 | 返回一个新的String已包含参数指定的子字符串 |
concat() | 要连接的String() | 返回一个新的String对象,内容为原始String连接上参数String |
replace() | 要替换掉的字符,用来进行替换的新字符。也可以用一个CharSequence | 返回替换字符后的新String对象。如果没有替换发生则返回原始的String对象。 |
toLowerCase();toUpperCase() | 将字符串的大小写改变后返回一个新的String。如果没有改变发生则返回原始的String对象。 | |
trim() | 将String对象两端的空白字符删除后,返回一个新的String对象。如果没有改变发生则返回原始的String对象。 | |
valueOf() | 返回一个表示参数内容的String | |
intern | 为每一个唯一的字符序列生成一个且仅生成一个String引用 | |
构造器 | 重载版本:默认版本,String,StringBUlider,Stringbuffer,char数组,byte数组 | 创建String对象 |
格式化输出
System.out.format("");可以格式化字符串与System.out.printf是等价的。
java.util.Formatter类处理格式化的。
类型转换字符 | |
d 整数型(十进制) | e 浮点数(科学计数) f 浮点数(十进制) |
c Unicode字符 | x 整数(十六进制) |
b Boolean值 | h 散列码(十六进制) |
s String | % 字符“%” |
正则表达式
概念:一某种方式来描述字符串。
java.util.regex.Pattern