“阿米戈,你怎么看?继 int 之后最受欢迎的 Java 类是什么?”
“你已经在课程的标题中给了我剧透,艾莉。是String
!”
“的确,它是一个剧透。String
绝对是无处不在。它有一堆有用的方法,你最好知道。
“该类String
是除原始类型之外唯一可以在语句中使用其文字的类switch
;编译器以特殊方式处理字符串加法和 String 对象;String
对象以特殊方式存储在内存中。基本上,该类String
是一个非常特别班。
“此外,该String
课程还有一堆辅助类,其目的是进一步简化 Java 中的字符串处理。当你学会所有这些后,很多事情对你来说真的会变得容易得多。”
“我等不及了。”
”好吧,我们就从这个生态系统的核心——类的组织开始String
。类的结构String
其实很简单:里面是一个字符数组(char
array),里面存储了字符串的所有字符。对于例如,这是单词“Hello”的存储方式:

这一点很重要。
其实,这并不完全准确。因为这个String
类非常重要,它使用了很多优化,并且数据在内部存储的不是字符数组,而是简单的字节数组。
String 类的方法
该类String
有很多方法:仅它就有 18 个构造函数!所以,下面我将只列出最常用的:
方法 | 描述 |
---|---|
|
返回字符串中的字符数 |
|
检查字符串是否为空字符串 |
|
检查字符串是否仅包含空白字符:空格、制表符、换行符等。 |
|
返回字符串中索引位置的字符。 |
|
返回组成字符串的字符数组(副本) |
|
将字符串转换为一组字节并返回字节数组。 |
|
将字符串拆分为多个子字符串。 |
|
将多个子字符串连接在一起 |
|
将字符串放入字符串池。 |
“这看起来很不错!”
“让我们编写一个程序,将文件路径从 Unix 风格转换为 Windows 风格。Unix 使用字符/
分隔文件夹,而 Windows 使用字符\
。
解决方案 1.使用char
数组
代码 | 笔记 |
---|---|
|
创建一个 Scanner 对象 从控制台读取一行 将字符串转换为字符数组 在字符上循环 如果字符是 / ,则将其替换为 \ . 不要忘记逃跑。根据字符数组创建一个新字符串。 显示字符串。 |
解决方案 2.使用split()
和join()
方法:
代码 | 笔记 |
---|---|
|
创建一个 Scanner 对象 从控制台读取一行 Convert string to array of strings。该 / 字符用作分隔符(额外的两个斜杠是双重转义的结果)。连接字符串数组中的所有字符串。用作分隔符(我们看到它转义了)。 显示字符串。 \ |
解决方案三、使用replace(char oldChar, char newChar)
方法:
代码 | 笔记 |
---|---|
|
创建一个 Scanner 对象 从控制台读取一行 只需将一个字符替换为另一个字符 (第二个字符被转义) 显示字符串。 |
“我最喜欢第三种解决方案。但我会同时练习这三种方法。”
“干得好,阿米戈,我看你已经迫不及待想要将新知识付诸实践了,课程结束了。”
GO TO FULL VERSION