String
类是Java中最常用的类之一,用于表示和操作字符串。String
类提供了许多实用的方法,用于字符串的创建、比较、查找、替换、分割等操作。下面我将详细介绍String
类的一些常用方法。
1. 创建字符串
- 构造方法:
String()
:创建一个空字符串。String(String original)
:创建一个与参数相同的字符串。String(char[] value)
:通过字符数组创建字符串。String(byte[] bytes)
:通过字节数组创建字符串。
示例:
String str1 = new String(); // 空字符串
String str2 = new String("Hello"); // "Hello"
char[] chars = {'W', 'o', 'r', 'l', 'd'};
String str3 = new String(chars); // "World"
byte[] bytes = {72, 101, 108, 108, 111};
String str4 = new String(bytes); // "Hello"
2. 获取字符串信息
length()
:返回字符串的长度。charAt(int index)
:返回指定索引处的字符。indexOf(int ch)
:返回指定字符第一次出现的索引。indexOf(int ch, int fromIndex)
:从指定索引开始,返回指定字符第一次出现的索引。indexOf(String str)
:返回指定子字符串第一次出现的索引。indexOf(String str, int fromIndex)
:从指定索引开始,返回指定子字符串第一次出现的索引。lastIndexOf(int ch)
:返回指定字符最后一次出现的索引。lastIndexOf(int ch, int fromIndex)
:从指定索引开始,返回指定字符最后一次出现的索引。lastIndexOf(String str)
:返回指定子字符串最后一次出现的索引。lastIndexOf(String str, int fromIndex)
:从指定索引开始,返回指定子字符串最后一次出现的索引。
示例:
String str = "Hello, World!";
int length = str.length(); // 13
char ch = str.charAt(1); // 'e'
int index = str.indexOf('o'); // 4
int lastIndex = str.lastIndexOf('o'); // 8
int indexOfStr = str.indexOf("World"); // 7
3. 字符串比较
equals(Object anObject)
:比较字符串内容是否相等。equalsIgnoreCase(String anotherString)
:忽略大小写,比较字符串内容是否相等。compareTo(String anotherString)
:按字典顺序比较两个字符串。compareToIgnoreCase(String str)
:忽略大小写,按字典顺序比较两个字符串。
示例:
String str1 = "Hello";
String str2 = "hello";
boolean isEqual = str1.equals(str2); // false
boolean isEqualIgnoreCase = str1.equalsIgnoreCase(str2); // true
int compareResult = str1.compareTo(str2); // 负数
int compareIgnoreCaseResult = str1.compareToIgnoreCase(str2); // 0
4. 字符串操作
substring(int beginIndex)
:返回从指定索引开始到字符串末尾的子字符串。substring(int beginIndex, int endIndex)
:返回从指定索引开始到指定索引结束的子字符串。concat(String str)
:将指定字符串连接到此字符串的末尾。replace(char oldChar, char newChar)
:替换字符串中的所有指定字符。replace(CharSequence target, CharSequence replacement)
:替换字符串中的所有指定子字符串。trim()
:去除字符串两端的空白字符。toLowerCase()
:将字符串转换为小写。toUpperCase()
:将字符串转换为大写。
示例:
String str = "Hello, World!";
String subStr1 = str.substring(7); // "World!"
String subStr2 = str.substring(0, 5); // "Hello"
String concatStr = str.concat(" Welcome"); // "Hello, World! Welcome"
String replacedStr = str.replace('o', 'a'); // "Hella, Warld!"
String replacedStr2 = str.replace("World", "Java"); // "Hello, Java!"
String trimmedStr = " Hello ".trim(); // "Hello"
String lowerCaseStr = str.toLowerCase(); // "hello, world!"
String upperCaseStr = str.toUpperCase(); // "HELLO, WORLD!"
5. 字符串分割
split(String regex)
:根据指定正则表达式分割字符串。split(String regex, int limit)
:根据指定正则表达式分割字符串,并限制分割次数。
示例:
String str = "apple,banana,orange";
String[] fruits = str.split(","); // ["apple", "banana", "orange"]
String[] limitedFruits = str.split(",", 2); // ["apple", "banana,orange"]
6. 字符串判断
contains(CharSequence s)
:判断字符串是否包含指定子字符串。startsWith(String prefix)
:判断字符串是否以指定前缀开始。endsWith(String suffix)
:判断字符串是否以指定后缀结束。isEmpty()
:判断字符串是否为空。
示例:
String str = "Hello, World!";
boolean contains = str.contains("World"); // true
boolean startsWith = str.startsWith("Hello"); // true
boolean endsWith = str.endsWith("World!"); // true
boolean isEmpty = str.isEmpty(); // false
总结
- 创建字符串:构造方法。
- 获取字符串信息:
length()
,charAt()
,indexOf()
,lastIndexOf()
。 - 字符串比较:
equals()
,equalsIgnoreCase()
,compareTo()
,compareToIgnoreCase()
。 - 字符串操作:
substring()
,concat()
,replace()
,trim()
,toLowerCase()
,toUpperCase()
。 - 字符串分割:
split()
。 - 字符串判断:
contains()
,startsWith()
,endsWith()
,isEmpty()
。
通过这些方法,开发者可以方便地进行字符串的创建、操作和判断。