
Java基础:String类概念、重要方法、构造函数
直接赋值方式: 通过 new 运算符方式:
发布日期:2025-04-03 02:04:02
浏览次数:16
分类:精选文章
本文共 1953 字,大约阅读时间需要 6 分钟。
Java String 类是 Java 程序中十分常用的类,其主要功能是存储和操作字符串数据。本文将详细介绍 String 类的特性、构造方式以及常用的操作方法。
String 类的特性
String 类用于存储多字符字符串数据,与 Character 类不同,String 类可以处理多个字符长度的字符串操作。所有 String 对象都共享相同存储空间,除非字符串发生改变,否则尽量使用 String 类来提高内存利用效率。
String 类的实例创建方式
创建 String 对象有两种主要方式:
String str1 = "字符串1";
String str2 = new String("字符串2");
推荐使用直接赋值方式,因为它比通过 new 运算符方式更高效。这两种方式在存储上都没有显著差异,但 constructor 方法会影响内存管理。
String 类的常用操作方法
以下是 String 类的部分重要方法,每个方法都支持不同的操作场景:
基本获取方法
length()
:获取字符串的长度。charAt(int index)
:获取指定索引位置的字符。toCharArray()
:将字符串转换为字符数组。getBytes(String charsetName)
:将字符串转换为字节数组,指定字符编码格式。
比较与判断方法
equals(Object anObject)
:判断当前字符串与 Another 对象是否是同一字符串。equalsIgnoreCase(String anotherString)
:不区分大小写的字符串比较。compareTo(String anotherString), compareToIgnoreCase(String str)
:字典序比较字符串,前者区分大小写,后者不区分。
边界处理方法
startsWith(String prefix)
:判断字符串是否以指定前缀开头。endsWith(String suffix)
:判断字符串是否以指定后缀结尾。
拆分与连接方法
substring(int beginIndex, int endIndex)
:提取字符串子串。concat(String str)
:将字符串连接到目标字符串后面。replace(char oldChar, char newChar)
:将指定字符替换为新字符。matches(String regex)
:判断字符串是否符合正则表达式匹配。split(String regex)
:根据正则表达式拆分字符串,返回字符串数组。
辅助方法
toLowerCase(), toUpperCase()
:将字符串转换为小写或大写。trim()
:去除字符串前后空格。strip(), stripLeading(), stripTrailing()
:去除字符串内部的空格或边界空格。isBlank()
:判断字符串是否为空或仅包含空格。lines()
:Java 11 新增方法,将字符串行成行流。indent(int n)
:Java 12 新增方法,添加指定缩进量后的字符串。transform(Function<? super String, ? extends R> f)
:Java 12 新增方法,支持函数转换操作。format(String format, Object... args)
:格式化字符串,支持多种格式化参数。valueOf(Object obj)
:将对象转换为字符串表示形式。intern()
:将字符串转换为字符串池中的字符串,提高内存效率。
重复与其他操作
repeat(int count)
:重复字符串指定次数后返回新的字符串。
String 类的构造函数
String 类提供多种构造方式,可以通过不同类型的构造函数创建 String 对象:
String()
:创建空字符串对象。String(byte[] bytes) String(byte[] bytes, int off, int len)
:从字节数组创建字符串,支持偏移和长度。String(char[] chs) String(char[] chs, int off, int len)
:从字符数组创建字符串。String(String str)
:将其他 String 对象的值赋值给当前对象。String(StringBuffer sb)
:将 StringBuffer 对应的值赋值给当前字符串对象。
通过以上方式,可以灵活创建 String 对象,满足不同开发需求。这些建构函数的选择会直接影响字符串的内存使用和运算性能。
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2025年04月27日 06时11分09秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
LeetCode二叉树从上至下路径问题总结(112.113.437.129)
2025-04-05
LeetCode动态规划训练营(1~5天)
2025-04-05
LeetCode哈希表+字符类的题目总结
2025-04-05
LeetCode商汤专场——第216场周赛题解
2025-04-05
LeetCode地平线专场——第308场周赛题解
2025-04-05
LeetCode数据库题目汇总一(附答案)
2025-04-05
LeetCode数据库题目汇总二(附答案)
2025-04-05
LeetCode新手指南:从零开始掌握算法挑战
2025-04-05
LeetCode智加科技专场——第207场周赛题解
2025-04-05
leetcode正则表达式匹配
2025-04-05
leetcode第40题:组合总和II
2025-04-05
leetcode算法题解(Java版)-6-链表,字符串
2025-04-05
LeetCode经典——202.快慢指针之快乐数
2025-04-05
LeetCode经典——70.爬楼梯&&509.斐波拉契数列
2025-04-05
Leetcode经典系列——LRU最近最少使用机制
2025-04-05
LeetCode美团专场——第203场周赛题解
2025-04-05
LeetCode蔚来专场——第208场周赛题解
2025-04-05
leetcode题解-买卖股票的最佳时机
2025-04-05
leetcode题解102-二叉树的层序遍历
2025-04-05