Java中String的API接收和基础使用
什么是String?
String类表示字符序列。Java程序中的所有字符串字面值,如"abc",都作为此类的实例实现。字符串是常量,它们的值在创建后不能被更改。StringBuffer类支持可变字符串。因为String对象是不可变的,所以它们可以被共享。
如何创建String对象?
有多种方式可以创建String对象,例如:
- 使用字符串字面值赋值给一个变量,如
String str = "abc";
- 使用new关键字和构造器创建一个新的对象,如
String str = new String("abc");
- 使用其他类型转换为字符串,如
int num = 123; String str = String.valueOf(num);
String类提供了哪些方法?
String类提供了许多用于操作字符串的方法,例如:
charAt(int index)
:返回指定索引处的char值。compareTo(String anotherString)
:按字典顺序比较两个字符串。concat(String str)
:将指定字符串连接到此字符串的结尾。contains(CharSequence s)
:当且仅当此字符串包含指定的char值序列时才返回true。endsWith(String suffix)
:测试此字符串是否以指定的后缀结束。equals(Object anObject)
:将此字符串与指定的对象比较。indexOf(int ch)
:返回指定字符在此字符串中第一次出现处的索引。length()
:返回此字符串的长度。replace(char oldChar, char newChar)
:返回一个新的字符串,它是通过用newChar替换此字符串中出现的所有oldChar得到的。split(String regex)
:根据给定正则表达式的匹配拆分此字符串。substring(int beginIndex, int endIndex)
:返回一个新字符串,它是此字符串的一个子串。toLowerCase()
:这个方法使用默认语言环境的规则将此字符串中的所有字符都转换为小写。如果没有任何字符被转换,就返回原字符串。
String类的使用示例
下面是一些使用String类的方法的示例:
charAt(int index)
:
String str = "Hello";
char ch = str.charAt(0); // ch = 'H'
compareTo(String anotherString)
:
String str1 = "apple";
String str2 = "banana";
int result = str1.compareTo(str2); // result < 0 because 'a' < 'b'
concat(String str)
:
String str1 = "Hello";
String str2 = "World";
String str3 = str1.concat(str2); // str3 = "HelloWorld"
contains(CharSequence s)
:
String str = "Hello World";
boolean b1 = str.contains("Hello"); // b1 = true
boolean b2 = str.contains("Java"); // b2 = false
endsWith(String suffix)
:
String str = "Hello World";
boolean b1 = str.endsWith("World"); // b1 = true
boolean b2 = str.endsWith("world"); // b2 = false because case-sensitive
equals(Object anObject)
:
String str1 = "Hello";
String str2 = "hello";
boolean b1 = str1.equals(str2); // b1 = false because case-sensitive
boolean b2 = str1.equalsIgnoreCase(str2); // b2 = true because ignore case
indexOf(int ch)
:
String str = "Hello World";
int index1 = str.indexOf('o'); // index1 = 4
int index2 = str.indexOf('o', 5); // index2 = 7, start from index 5
int index3 = str.indexOf("World"); // index3 = 6
int index4 = str.indexOf("Java"); // index4 = -1, not found
length()
:
String str = "Hello World";
int len = str.length(); // len = 11
replace(char oldChar, char newChar)
:
String str = "Hello World";
String newStr1 = str.replace('o', 'a'); // newStr1 = "Hella Warld"
String newStr2 = str.replace("World", "Java"); // newStr2 = "Hello Java"
split(String regex)
:
String str = "Hello World Java";
String[] arr1 = str.split(" "); // arr1 is {"Hello", "World", "Java"}
String[] arr2= str.split("o"); // arr2 is {"Hell", " W", "rld Java"}
substring(int beginIndex, int endIndex)
:
String str ="Hello World";
String subStr1=str.substring(0,5); // subStr1="Hello"
String subStr2=str.substring(6); // subStr2="World"
toLowerCase()
:
String str ="HELLO WORLD";
String lowerStr=str.toLowerCase(); // lowerStr="hello world"
参考:
(1) String (Java Platform SE 7 ) - Oracle. https://docs.oracle.com/javase/7/docs/api/java/lang/String.html
(2) String (Java Platform SE 8 ) - Oracle. https://docs.oracle.com/javase/8/docs/api/java/lang/String.html
(3) String (Java SE 11 & JDK 11 ) - Oracle. https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html