Java_Day12(字符串的常用方法、StringBuilder方法、StringBuilder/StringBuffer与String的区别)
字符串的常用方法
判断方法:
boolean endsWith(String suffix)
检测此字符串是否以指定的后缀结尾。boolean contains(CharSequence s)
检测此字符串包含指定的字符boolean equals(Object anObject)
字符串比较boolean EqualsIgnoreCase(String anotherString)
字符串比较,忽略大小写boolean isEmpty()
判断该字符串是否为空boolean startsWith(String prefix)
检测此字符串是否以指定的前缀开头
查找方法:
int indexOf(int ch)
返回指定字符第一次出现的位置int indexOf(int ch,int fromIndex)
从指定位置开始查找指定字符第一次出现的位置int indexOf(String str)
返回指定字符串第一次出现的位置int lastIndexOf(int ch)
返回指定字符最后一次出现的位置int lastIndexOf(int ch,int fromIndex)
从指定位置开始查找指定字符最后一次出现的位置int lastLndexOf(String str)
返回指定字符串最后一次出现的位置
获取长度:
. int length()
返回字符串的长度
替换
. String replace(char oldChar,char newChar)
将第一个查找到的指定字符替换为另一个指定字符
分割
String[] split(String regex)
将此字符串按指定字符串分割String[] split(String regex,int limit)
将此字符串按指定字符串分割,分割为指定个数String substring(int beginIndex)
返回该字符串从指定位置开始的字符串String substring(int beginIndex,int endIndex)
返回该字符串从指定位置开始到指定位置结束的字符串
转换方法:
char[] toCharArray()
将此字符串转换为字符数组String toLowerCase()
转换为小写String toUpperCase()
转换为大写String toString()
转换为字符串类型String trim()
去除前后的空格static String valueOf(boolean b)
返回 boolean参数的字符串 boolean形式。static String valueOf(char c)
返回 char参数的字符串 char形式。static String valueOf(char[] data)
返回 char数组参数的字符串 char形式。static String valueOf(char[] data, int offset, int count)
返回 char数组参数的特定子阵列的字符串 char形式。static String valueOf(double d)
返回 double参数的字符串 double形式。static String valueOf(float f)
返回 float参数的字符串 float形式。static String valueOf(int i)
返回 int参数的字符串 int形式。static String valueOf(long l)
返回 long参数的字符串 long形式。static String valueOf(Object obj)
返回 Object参数的字符串 Object形式。
StringBuilder/StringBuffer
• 一个可变的字符序列。 此类提供与StringBuffer的API,但不保证同步。 此类设计用作简易替换为StringBuffer在正在使用由单个线程字符串缓冲区的地方(如通常是这种情况)。 在可能的情况下,建议使用这个类别优先于StringBuffer ,因为它在大多数实现中将更快。
• StringBuilder的主要StringBuilder是append和insert方法,它们是重载的,以便接受任何类型的数据。 每个都有效地将给定的数据转换为字符串,然后将该字符串的字符附加或插入字符串构建器。 append方法始终在构建器的末尾添加这些字符; insert方法将insert添加到指定点
StringBuilder/StringBuffer类和String类的区别
- String类:内容是不可变的
- StringBuilder类:内容是可变的
- StringBuilder 是不同步 不是线程安全的
- StringBuffer 是 同步的 也是 线程安全的
• StringBuilder类的构造方法
方法名 | 说明 |
---|---|
public StringBuilder() | 创建一个空白可变字符串对象,不含有任何内容 |
public StringBuilder(String str) | 根据字符串的内容,来创建可变字符串对象 |
StringBuilder的几种方法:
- 添加:
StringBuilder append(boolean b)
将 boolean参数的字符串表示附加到序列中。StringBuilder append(char c)
将 char参数的字符串表示附加到此序列。StringBuilder append(char[] str)
将 char数组参数的字符串表示追加到此序列。StringBuilder append(char[] str, int offset, int len)
将 char数组参数的子阵列的字符串表示附加到此序列。StringBuilder append(CharSequence s)
将指定的字符序列追加到此 Appendable 。StringBuilder append(CharSequence s, int start, int end)
追加指定的序列 CharSequence的序列。StringBuilder append(double d)
将 double参数的字符串表示法附加到此序列。StringBuilder append(float f)
将 float参数的字符串表示附加到此序列。StringBuilder append(int i)
将 int参数的字符串表示法附加到此序列。StringBuilder append(long lng)
将 long参数的字符串表示法附加到此序列。StringBuilder append(Object obj)
追加 Object参数的字符串 Object形式。StringBuilder append(String str)
将指定的字符串附加到此字符序列。StringBuilder append(StringBuffer sb)
将指定 StringBuffer这个序列。
- 获取容量:
int capacity()
返回当前容量。
- 查找:
char charAt(int index)
返回 char在指定索引在这个序列值。
- 删除:
StringBuilder delete(int start, int end)
删除此序列的子字符串中的字符。StringBuilder deleteCharAt(int index)
删除 char在这个序列中的指定位置。
- 替换:
void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
字符从该序列复制到目标字符数组 dst 。
- 分割:
String substring(int start)
返回一个新的 String ,其中包含此字符序列中当前包含的字符的子序列。String substring(int start, int end)
返回一个新的 String ,其中包含此序列中当前包含的字符的子序列。
其余方法和String类似