String的常用方法
String的常用方法
CAMELLIA!!! note 目录
字符串的常用方法
一、第一部分
1.1 char charAt(int index)
charAt(int index)
方法在 Java 中用于从字符串中获取指定索引位置的字符。
1 |
|
1.2 int length()
对于字符串,length()
是一个方法,用于获取字符串的长度(即字符串中字符的个数)。
1 |
|
1.3 boolean isEmpty()
isEmpty()
方法在 Java 中用于检查字符串是否为空。该方法返回一个布尔值true
或 false
,用以指示字符串是否不包含任何字符。
1 |
|
1.4 boolean equals(Object anObject)
equals(Object anObject)
方法在 Java 中用于比较两个对象是否相等。对于字符串对象,equals
方法比较的是字符串的内容,而不是它们的引用地址。
1 |
|
1.5 boolean equalsIgnoreCase(String anotherString)
equalsIgnoreCase(String anotherString)
方法在 Java 中用于比较两个字符串是否相等,而忽略大小写。
1 |
|
1.6 boolean contains(CharSequence s)
contains(CharSequence s)
方法在 Java 中用于判断一个字符串是否包含指定的字符序列。
1 |
|
1.7 boolean startsWith(String prefix)
startsWith(String prefix)
方法在 Java 中用于检查字符串是否以指定的前缀开始。该方法返回一个布尔值 true 或 false,用以指示字符串是否以指定的前缀开头。
1 |
|
1.8 boolean endsWith(String suffix)
endsWith(String suffix)
方法在 Java 中用于检查字符串是否以指定的后缀结尾。该方法返回一个布尔值 true 或 false,用以指示字符串是否以指定的后缀结尾。
1 |
|
1.9 int compareTo(String anotherString)
compareTo(String anotherString)
方法在 Java 中用于比较两个字符串的字典顺序。它返回一个整数,表示字符串的相对顺序。
- 返回负整数,表示当前字符串在字典顺序中位于 anotherString 之前。
- 返回零,表示两个字符串在字典顺序中相等。
- 返回正整数,表示当前字符串在字典顺序中位于 anotherString 之后。
1 |
|
1.10 int compareToIgnoreCase(String str)
compareToIgnoreCase(String str)
方法在 Java 中用于比较两个字符串的字典顺序,忽略大小写。它返回一个整数,表示字符串的相对顺序。
1 |
|
1.11 int indexOf(String str)
indexOf(String str)
方法在 Java 中用于查找子字符串在字符串中首次出现的索引位置。如果子字符串不在字符串中,则返回-1。
1 |
|
1.12 int indexOf(String str , int fromIndex)
indexOf(String str, int fromIndex)
方法在 Java 中用于查找子字符串在字符串中首次出现的索引位置,从指定的索引位置开始。如果子字符串不在字符串中,则返回-1。
1 |
|
1.13 int lastIndexOf(String str)
lastIndexOf(String str)
方法在 Java 中用于查找子字符串在字符串中最后一次出现的索引位置。如果子字符串不在字符串中,则返回-1。
1 |
|
1.14 int lastIndexOf(String str, int fromIndex)
lastIndexOf(String str, int fromIndex)
方法在 Java 中用于查找子字符串在字符串中最后一次出现的索引位置,从指定的索引位置开始向前查找。如果子字符串不在字符串中,则返回-1。
1 |
|
二、第二部分
2.1 char[] toCharArray()
toCharArray()
方法在 Java 中用于将字符串转换为一个新的字符数组。该方法返回一个字符数组,其中包含此字符串中的每个字符。
1 |
|
2.2 String toLowerCase()
toLowerCase()
方法在 Java 中用于将字符串转换为小写形式。该方法返回一个新的字符串,表示将此字符串中的所有字符都转换为小写后的结果。
1 |
|
2.3 String toUpperCase()
toUpperCase()
方法在 Java 中用于将字符串转换为大写形式。该方法返回一个新的字符串,表示将此字符串中的所有字符都转换为大写后的结果。
1 |
|
2.4 String concat(String str)以及和 + 的区别
concat(String str)
方法在 Java 中用于将指定的字符串连接到此字符串的末尾。该方法返回一个新的字符串,表示将指定字符串连接到此字符串末尾后的结果。- 和 + 号的区别
- +既可以求和,也可以进行字符串的拼接,底层拼接时会创建String Builder对象进行拼接,然后通过调用toString转成字符串。
- +拼接null时不会出现空指针异常。
- concat方法参数只能是字符串类型,拼接时不会创建StringBulider对象,拼接完成后直接返回一个新的String对象。
- concat拼接null会出现空指针异常。
- +使用较多,如果进行大量字符拼接,这两个都不合适。
1 |
|
2.5 String substring(int beginIndex)
substring(int beginIndex)
方法在 Java 中用于返回一个新的字符串,该字符串是从指定的 beginIndex 开始到此字符串末尾的一个子字符串。
1 |
|
2.6 String substring(int beginIndex,int endIndex)
substring(int beginIndex, int endIndex)
方法在 Java 中用于返回一个新的字符串,该字符串是从指定的 beginIndex
开始到指定的 endIndex
结束的一个子字符串。
注意,子字符串包括
beginIndex
处的字符,但不包括endIndex
处的字符。
1 |
|
2.7 String trim()
trim()
方法在 Java 中用于移除字符串两端的空白字符,包括空格、制表符(Tab)、换行符等。该方法返回一个新的字符串,表示移除两端空白字符后的结果。
1 |
|
去除字符串的前后空白
注意:trim()方法只能去除什么空白?ASCII码的空白以及制表符tab。(无法去除全角空白)
2.8 String strip()
strip()
方法在 Java 中用于移除字符串两端的空白字符,包括空格、制表符(Tab)、换行符等。
这个方法与 trim() 类似,但在处理空白字符上更加全面和严格。strip() 方法是在 Java 11 中引入的。
1 |
|
strip可以处理全角空格,但是性能比trim弱。
一般很少使用全角空格,所以推荐trim。
2.9 String stripLeading()
stripLeading()
方法在 Java 中用于移除字符串前端的空白字符,包括空格、制表符(Tab)、换行符等。
1 |
|
2.10 Stirng stripTrailing()
stripTrailing()
方法在 Java 中用于移除字符串后端的空白字符,包括空格、制表符(Tab)、换行符等。
1 |
|
2.11 String intern()
intern()
方法在 Java 中用于将字符串放入字符串池(string pool)
中,并返回字符串池中的字符串引用。字符串池是 JVM 内部维护的一组唯一字符串对象,目的是为了优化内存使用和提高性能。
- 返回值
- 如果字符串池中已经包含了与该字符串内容相同的字符串,则返回池中的该字符串的引用;
- 否则,将该字符串添加到字符串池中,并返回其引用。
工作原理
- 字符串常量池:在 Java 中,字符串常量池是一个专门存储字符串常量的区域。当你使用字面量创建字符串时,这个字符串会被自动放入字符串池中。
- 字符串池:当你通过 new 关键字创建字符串时,会在堆内存中创建一个新的字符串对象,不会自动将其放入字符串池中。调用 intern() 方法可以手动将其放入字符串池中。
1 |
|
三、第三部分(静态方法,直接用类名调用)
3.1 static String join(CharSequence d,CharSequence…elements)
join(CharSequence delimiter, CharSequence... elements)
是 Java 中String
类的一个静态方法,
用于将多个CharSequence
元素连接成一个字符串,中间用指定的分隔符分隔。这个方法是在 Java 8 中引入的,
非常方便用于构建带有分隔符的字符串,例如构建 CSV 行或路径等。
1 |
|
3.2 static String join(CharSequence delimiter,Iterable<? extends CharSequence> elements)
join(CharSequence delimiter, Iterable<? extends CharSequence> elements) 是 Java 中 String 类的一个静态方法,
用于将多个 CharSequence 元素连接成一个字符串,中间用指定的分隔符分隔。这个方法是在 Java 8 中引入的,
与上一个方法相似,但它接受一个 Iterable 对象作为参数,可以方便地处理集合类。
1 |
|
3.3 static String valueOf()
valueOf()
方法是 Java 中 String 类的静态方法之一,用于将其他数据类型转换为字符串。
public static String valueOf(boolean b)
public static String valueOf(char c)
public static String valueOf(char[] data)
public static String valueOf(char[] data, int offset, int count)
public static String valueOf(double d)
public static String valueOf(float f)
public static String valueOf(int i)
public static String valueOf(long l)
public static String valueOf(Object obj)