字符串

本文介绍了Java中的String对象,包括匿名对象的实例化、两种实例化方式的区别、如何通过equals()方法比较字符串内容,以及强调了字符串内容的不可变性。同时,提到了String类中的split和replaceAll方法对正则表达式的支持。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 String

在 Java 中字符串属于对象,Java 提供了 String 类 来创建和操作字符串。

1.1 实例化 String 对象
// 方法1:直接赋值
String name = "GNN";

// 方法2:使用new调用String类中的构造方法
String name = new String("GNN");
匿名对象

匿名对象就是没有明确给出名字的对象。
一般匿名对象只使用一次,而且匿名对象只在堆内存中开辟空间,而不存在栈内存的引用
在这里插入图片描述

两种实例化方式的区别

首先要明白一个重要概念:一个字符串就是一个 String 类的匿名对象
匿名对象就是已经开辟了堆内存空间的并可以直接使用的对象。

String str1 = "hello";

上述代码实际上就是把一个在堆中开辟好的堆内存空间的使用权给了 str1 对象。
如果一个字符串已经被一个名称所引用,则以后再有相同的字符串声明时,就不会再重新开辟空间。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.2 String 的内容比较

对于基本数据类型可以通过 “==” 进行内容的比较,那么对于 String 呢?
在这里插入图片描述

因此,无法使用 “==” 进行字符串内容判断。那该如何 判断两个字符串的内容是否相等
利用 String 的 equals() 方法,该方法将内容进行比较。如下(初始化与上例相同):
在这里插入图片描述

1.3 字符串的内容不可改变

在使用 String 类进行操作时,一定要牢记 字符串的内容不可改变 这一重要特性,避免代码性能低。如果需要对字符串做很多修改,那么应该选择使用 StringBuffer & StringBuilder 类。
在这里插入图片描述


1.4 String 类中常用方法

在这里插入图片描述
其中,split 和 replaceAll 两个方法是 String 对正则表达式的支持,在使用时可以使用正则表达式进行复杂的匹配。

注意:
数组长度: A.length
字符串长度: str.length()



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值