4.字符串
String字符串
-
char和String
char 存储的是单个字符,String可以存储单个字符,也可以存储字符串
-
字符串连接
使用“+”可实现字符串连接,连接其他数据类型返回结果为字符串
-
获取字符串信息
方法 | 返回值 | 作用 |
---|---|---|
length(); | int | 获取字符串长度 |
indexOf(String str) | int | 字符串查找(从头部开始查)返回字符串的位置 |
lastIndexOF(String str) | int | 字符串查找(从尾部开始查)返回字符串的位置 |
CharAt(int index) | char | 获取指定索引位置的字符 |
注意:
indexOf和lastIndexOF 在没查到数据时返回-1
- 字符串操作
方法 | 返回值 | 作用 |
---|---|---|
subString(int beginIndex) | String | 字符串截取 |
subString(int beginIndex,int endIndex) | String | |
trim() | String | 去除首尾空格,返回的是字符串的副本 |
replace(oldStr,newStr) | String | 字符串替换,将所有oldStr替换为newStr |
split(Sting sign) | String[] | 字符串分割 |
split(Sting sign,int limit) | String[] | |
equals(Sting str) | Boolean | 判断字符串是否相等(区分大小写) |
equalsIgnoreCase(Sting str) | Boolean | 判断字符串是否相等(不区分大小写) |
startsWith(String prefix) | Boolean | 判断字符串的开头是不是prefix |
endsWich(String suffix) | Boolean | 判断字符串的结尾是不是suffix |
compareTo() | int | 比较字符串的顺序 |
toLowerCase() | String | 字母小写转换 |
toUpperCase() | String | 字母大写转换 |
StringBuilder、StringBuffer
概念:因为String不是可变字符串,在进行字符串操作时会重新在内存中开辟一个空间存储新生成的String字符串,因此如果需要多次操作字符串时会消耗内存,而且进行字符串操作的速度没有StringBuilder和StringBuffer快。StringBuilder和StringBuffer简称为可变字符串
-
区别
(1) StringBuilder 方法不是线程安全,StringBuilder和StringBuffer比较有速度上的优势
(2) StringBuffer 线程安全、因为所有的公开方法都用synchronized修饰
(3) 单线程推荐使用StringBuilder,多线程需要保证线程安全推荐使用StringBuffer
-
创建方式
new StringBuilder();
new StringBuilder(“xxxx”);
-
方法
方法 | 作用 |
---|---|
Append(String str) | 在字符串后面追加str |
Insert(int index,String str) | 在索引index的位置插入str |
Delete(int startIndex,int endIndex) | 移除startIndex到endIndex的字符,含头不含尾 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App