1.String类
字符串是不可变(只读)的字符序列。字符串可以隐式地创建: String str = "string";也可以使用new来显式地创建一个String对象。String对象的两个基本方法是:length()和charAt()。indexOf()和lastIndexOf()方法用来查找指定字符或者字符串在字符串中第一次或最后一次出现的位置。找到的话返回索引值,否则返回-1。
equals方法用来比较两个String对象是否相等(相同的长度以及完全相同的Unicode字符序列)。equalsIgnoreCase()会忽略大小写。
对于两个相同内容的字符串字面常量来说,它们会指向同一个String对象。下面的代码中==的使用没有问题。
String str = "liuping";
if(str == "liuping")
answer(str);
如果str引用改为指向一个生成的String对象(用户输入或者new一个新对象),那么==会返回false。
substring(int beginIndex, int endIndex)方法返回一个新字符串,它是此字符串的一个子字符串。该子字符串从指定的 beginIndex
处开始,直到索引 endIndex - 1
处的字符。因此,该子字符串的长度为 endIndex-beginIndex
。
trim()方法返回字符串的副本,忽略前导空白和尾部空白。
split(String regex, int limit)返回一个String[],根据匹配给定的正则表达式来拆分此字符串。
要将一个基本类型转换为String类型,可以通过调用String的静态方法valueOf()来实现。要将字符串解析为一个基本类型,可以通过调用该基本类型对应的包装器类的静态方法paresType来实现。要将String类型转换为char类型,只需直接从该String中提取第一个char即可(str.charAt(0))。
getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)方法将该String对象的字符复制到指定的数组中。
2.StringBuilder类
一个可变的字符序列。常用操作为append()和insert(),这两个方法都返回StringBuilder对象本身。
StringBuilder对象的缓冲区有容量限制,初始值为16。只要字符串所包含的字符序列的长度没有超出此容量,就无需分配新的内部缓冲区。如果内部缓冲区溢出,则此容量自动增大。 但是一次性指定缓冲区大小效率更高。