首页 游戏 软件 资讯 排行榜 专题
首页
编程语言
JAVA中String类的使用方法示例讲解

JAVA中String类的使用方法示例讲解

热心网友
20
转载
2026-05-05

1、前言

在Ja va编程的世界里,String类是我们打交道最频繁的伙伴之一,几乎每个项目都离不开它。今天,我们就来系统地梳理一下这个核心类的使用门道。

免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈

整个脉络可以清晰地分为三步:先从如何创建String对象讲起,然后深入探讨字符串之间如何正确比较,最后再盘点一批最实用的常用方法。跟着这个思路走下来,你就能稳稳地掌握String类的基本功了。

2、String的使用

2.1 创建String

创建String对象的方式多种多样,下面这几种是最常用的,可以应对大部分场景。

这里有个细节值得注意:如果打算通过byte数组来创建字符串,那么数组里的单个数值最好不要超过127。原因在于,这个过程依赖ASCII码表进行转换,超出范围可能会导致非预期的字符结果。

//        方式一:直接赋值
        String string01 = "zjx";
//        方式二:通过构造方法传入字面量
        String string02 = new String("zjx");
//        方式三:通过字符数组构建
        String string03 = new String(new char[]{'z','j','x'});
//        方式四:通过字节数组构建(ASCII码转换)
        String string04 = new String(new byte[]{97,98,99});
//        方式五:通过字节数组和索引构建部分内容
        String string05 = new String(new byte[]{97,98,99},0,2);
//        方式六:通过字符数组和索引构建部分内容
        String string06 = new String(new char[]{'z','j','x'},0,2);

上面这些只是部分例子,String类提供的构造方法其实相当丰富,下图展示了一个更全面的视图:

JA VA中String类的使用方法示例讲解

2.2 String之间的比较

2.2.1 比较方式

说到比较两个字符串是否相等,绝大多数情况下,都应该使用Stringequals方法。直接用“==”操作符比较的是对象引用地址,那可不是我们想要的内容对比。

2.2.2 equals详解

那么,equals方法内部到底是怎么工作的呢?它的判断逻辑其实非常严谨,可以拆解为以下几个步骤:

第一步,判断比较对象是不是自己本身。如果是,直接返回true,省去后续所有步骤。

第二步,判断传入的对象是不是String类型。如果不是,二话不说,返回false

第三步,这里涉及到一个底层优化细节:字符串压缩功能是否被禁用。这个开关会影响后续的比较路径。

第四步,如果启用了压缩功能,那么仅当两个字符串的编码格式完全相同时,比较才会继续,否则返回false

第五步,也是最终裁决的一步:逐位比对两个String对象底层的存储数组。这个数组就是下面这行代码所定义的:

@Stable
private final byte[] value;   //字符串的实际存储载体

只有当这两个byte[] value的内容完全一致时,equals方法才会返回true。整个流程的示意图如下,可以帮助你更直观地理解:

JA VA中String类的使用方法示例讲解

2.3 常用方法

理论讲清楚了,咱们再来看看实战。下面这些是String类中间出场率极高的一批方法,几乎每天都会用到:

//        equals:区分大小写的内容比较
        System.out.println("zjx 与 ZJX :" + "zjx".equals("ZJX"));
//        equalsIgnoreCase:忽略大小写的内容比较
        System.out.println("zjx 与 ZJX :" + "zjx".equalsIgnoreCase("ZJX"));
//        length:获取字符串长度
        System.out.println("zjx".length());
//        indexOf:查找字符首次出现的索引(找不到则返回-1)
        System.out.println("zjxzjx".indexOf("z"));
//        lastIndexOf:查找字符最后一次出现的索引
        System.out.println("zjxzjx".lastIndexOf("z"));
//        split:按指定字符分割字符串
        System.out.println("zjxzjx".split("z").length);
//        substring:截取子串(从起始索引到结束索引前一位)
        System.out.println("zjxzjx".substring(1,2));
//        trim:去除字符串首尾的空格
        System.out.println(" zjxzjx ".trim());
//        charAt:获取指定索引位置的字符
        System.out.println("zjx".charAt(1));

3、结束语

最后,分享两个在实践中非常有用的小技巧。

第一,像"zjx"这样的字符串字面量,本身就是一个String对象,可以直接调用所有方法。在进行equals比较时,如果其中一方是固定的字面量,强烈推荐用字面量来调用方法。例如,写成"zjx".equals(variable),而不是variable.equals("zjx")。这样可以有效避免当variablenull时引发的空指针异常。

第二,务必牢记String的不可变性。任何看似修改字符串的操作,比如concatsubstring或者trim,其实都返回了一个全新的String对象,原来的对象丝毫未变。你所看到的“变化”,只不过是对象的引用指向了新的地址而已。理解这一点,对于编写高效、正确的字符串处理代码至关重要。

来源:https://www.jb51.net/program/363203uyr.htm
免责声明: 游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

最新APP

宝宝过生日
宝宝过生日
应用辅助 04-07
台球世界
台球世界
体育竞技 04-07
解绳子
解绳子
休闲益智 04-07
骑兵冲突
骑兵冲突
棋牌策略 04-07
三国真龙传
三国真龙传
角色扮演 04-07

热门推荐

冬季防火标语
职业与学业
冬季防火标语

构筑消防安全“防火墙”工程 提升全社会火灾防控综合能力 消防安全绝非一句空洞的口号,它直接关系到千家万户的生命财产安全,是社会稳定与经济发展的坚实保障。全面提升社会火灾防控水平,是一项需要全民参与、持续发力的系统性工程。以下汇集自不同领域的防火警示与实用提醒,为我们提供了直观而深刻的行动指南。 森林

热心网友
05.05
防火宣传标语(80条)
职业与学业
防火宣传标语(80条)

防火宣传标语(1-20) 1 全民总动员,防火保安全。 2 全民护林、人人防火。 3 一人把关一处安,众人防火稳如山。 4 时时注意森林防火、人人重视森林防火。 5 森林防火记心上,人人护林理应当。 6 山田年年耕、防火天天讲。 7 保护消防设施,维护消防安全。 8 入山不带烟、野外

热心网友
05.05
森林防火标语手抄报图片文案
职业与学业
森林防火标语手抄报图片文案

森林防火标语手抄报图片文案 “坚持生态效益、经济效益、社会效益相结合,突出生态效益。”这句话点明了现代林业发展的核心。如今信息传播触手可及,我们每天都能接触到海量内容,其中那些简洁有力、直击人心的句子,往往最能留下深刻印象。你是否也有收集和分享精彩语句的习惯?下面整理的这份森林防火标语集锦,或许能为

热心网友
05.05
欧交易所最新版app下载安装地址2025版
web3.0
欧交易所最新版app下载安装地址2025版

欧交易所作为全球领先的数字资产服务平台,为广大用户提供多样化的数字产品交易与金融服务。其官方应用程序设计友好,操作便捷,致力于为用户创造一个安全、稳定的交易环境。 这份指南将手把手带你完成欧交易所2025最新版App的官方下载与安装。文内提供的链接直达官方渠道,确保你的每一步操作都安全可靠。 下载教

热心网友
05.05
森林防火标语大全图片文案34句
职业与学业
森林防火标语大全图片文案34句

森林防火标语大全图片文案【篇1】 一棵树木长成参天大树,需要历经数十年的风雨洗礼,成长过程极为不易。请务必牢记,切勿让任何火源进入林区,共同守护这片绿色。 我们关心天下大事,更应心系家园安全,用行动联通守护的责任。 清明祭祖,如今更倡导以鲜花、植树等文明、环保的方式寄托哀思,摒弃焚烧纸钱旧俗,让清明

热心网友
05.05