String
# String
Javadoc link:https://docs.oracle.com/javase/8/docs/api/java/lang/String.html
字符串并不是 Java 中的原始数据类型(Primitive data type),而是一种参考类型(Reference type),由多个字符组成的序列。
# 特性
- 不可变类型(Immutable type)
- 非原始类型(non-primitive type)
- 每个字符都可以通过索引(Index)来访问,第一个从
0
开始,最后一个通常为字符串长度减 1(string.length() - 1
) - 拥有一些方法(method)来获得单个字符和提取子字符串(substrings),或者其他有用的操作
- 多个字符串可通过
+
串联起来,甚至可以和数字类型连接(需要注意运算符执行顺序) - 不能使用
==
来比较两个字符串的等效性(equivalen) - 格式化字符串使用
printf()
来实现
# 一些 String 方法
isEmpty() // whether is empty, return ture if empty, otherwise fa
charAt(0) // charAt(str.length() - 1)
length()
toLowerCase()
toUpperCase()
startsWith("Hel")
substring(6, 11)
contains("Hel")
replace('J', 'j') // replace(",", "")
trim()
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
# 与 C 语言相比更为方便的事儿
C 语言的字符串是通过数组来实现的,而 Java 有一个专门的 String 参考类型。
假如要对一个字符串进行操作,却不知道字符串的长度,那就可以用 length()
方法:
for (int i = 0; i < str.length(); i++) {
System.out.print(str.charAt(i) + " ");
}
1
2
3
2
3
用 toCharArray()
可将字符串转换为一个新的字符数组:
char[] chars = string.toCharArray();
1
没有像C 语言里 \0
(字符串结束符)这一说,就像给你戴了个套,爽就完事儿了...
编辑 (opens new window)
上次更新: 2022/09/26, 16:55:15