
java常用类--String
发布日期:2021-05-15 01:31:23
浏览次数:17
分类:精选文章
本文共 1705 字,大约阅读时间需要 5 分钟。
Java String 类
Java中的String类是所有字符串操作的基础,每个字符串都由此类的实例表示。本文将深入探讨String类的特性、构造方法及其常用操作。
String 的不变性
String类是不可变的。每次对字符串进行操作时,都会返回一个新的String对象,而不是修改原有的String。这意味着即使你修改了一个String对象的值,它的引用仍然指向原来的字符数组。例如:
String str = "hello world";str = str.replace("l", "dd");// str 已经变成了 "hddo world"
这种不变性保证了字符串操作的安全性和线性时间复杂度。
String 的构造方法
String类提供了多种构造方法,用于创建不同类型的字符串实例:
默认构造方法:
String()
初始化一个空字符串。
从字节数组构造:
String(byte[] bytes)
使用平台默认字符集解码指定的字节数组。
指定字符集构造:
String(byte[] bytes, Charset charset)
使用指定字符集解码字节数组。
从字符数组构造:
String(char[] value)
分配一个新的String对象,表示字符数组中的字符序列。
从字符数组的子数组构造:
String(char[] value, int offset, int count)
初始化一个String,包含字符数组的子阵列。
从字符串构造副本:
String(String original)
创建一个与原字符串内容相同的新字符串。
常用 String 方法
String类提供了丰富的方法来操作字符串:
1. 字符操作
- 获取单个字符:
char charAt(int index)
- 比较字符串:
int compareTo(String anotherString)
2. 字符串操作
- 连接字符串:
String concat(String str)
- 匹配子字符串:
boolean contains(CharSequence s)
3. 字符串检查
- 判断是否以某个前缀开头:
boolean startsWith(String prefix)
- 判断是否以某个后缀结尾:
boolean endsWith(String suffix)
4. 字符串比较
- 判断两个字符串是否相等:
boolean equals(Object anObject)
- 忽略大小写比较:
boolean equalsIgnoreCase(String anotherString)
5. 字符串格式化
- 格式化字符串:
String format(String formatString, Object... args)
- 转换为字节数组:
byte[] getBytes(Charset charset)
6. 字符串转换
- 转换为大写或小写:
String toUpperCase()String toLowerCase()
- 去除空白:
String trim()
7. 其他方法
- 判断是否为空:
boolean isEmpty()
- 分割字符串:
String[] split(String regex)
- 替换字符:
String replace(char oldChar, char newChar)
String 的应用场景
反射场景:
String name = "张三";String firstLetter = name.substring(0, 1).toLowerCase() + name.substring(1);
相等判断: String的底层结构是char数组,只需逐个比较字符即可判断两个字符串是否相等。
字符串转换:
String s = "123";int num = Integer.parseInt(s);
通过上述方法,Java的String类为字符串操作提供了强大且灵活的支持。无论是简单的字符串拼接,还是复杂的字符串格式化,String类都能轻松应对。
发表评论
最新留言
初次前来,多多关照!
[***.217.46.12]2025年04月30日 04时20分35秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
ssm(Spring+Spring mvc+mybatis)——saveDept.jsp
2019-03-11
JavaScript操作BOM对象
2019-03-11
解决Chrome播放视频闪屏黑屏无法播放
2019-03-11
Git简单理解与使用
2019-03-11
echarts 基本图表开发小结
2019-03-11
二分查找.基于有序数组的查找方法.704
2019-03-11
制作JS验证码(简易)
2019-03-11
adb通过USB或wifi连接手机
2019-03-11
泛型机制 Generic
2019-03-11
包装类
2019-03-11
JDK9-15新特性
2019-03-11
集合继承结构
2019-03-11
LinkedList 实现类
2019-03-11
Vector 实现类
2019-03-11
HashMap类、HashSet
2019-03-11
HashTable类
2019-03-11
TreeSet、TreeMap
2019-03-11
ObjectInputStream、ObjectOutputStream
2019-03-11