JAVA判断字符串是否相等不能用==

本文深入探讨了Java中字符串比较的正确方式,解释了为何不能使用==运算符进行字符串比较,以及如何使用equals()和equalsIgnoreCase()方法来准确判断字符串是否相等。通过实例展示了字符串变量与字面量的比较技巧。

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

为什么说判断相等不能用==呢?

因为JAVA中String并非基本数据类型而是一个类, 变量名实际代表地址,而不是像C++一样理解为字符数组

这个运算符只能够确定两个字符串是否放在同一个位置

这意味着,放在同一位置必然相等, 相等的字符串并不一定在同一位置!

也就是说用==判断两个内容相同的字符串可能返回false

那怎样判断字符串是否相等呢?

String有内置判断方法 equals()

 

JAVA中可以用String的equals()方法检测两个字符串是否相等,如下例

String a="123",b="123";
boolean c=a.equals(b);

若内容一样返回值就会是true否则是false

不止字符串变量, 字符串字面量也可以调用这个方法,如下:

String a="123";
boolean c="123".equals(a);

还有一个不区分大小写的判断相等方法:equalsIgnoreCase(str)

String a="abc";
boolean c="Abc".equalsIgnoreCase(a);

返回true

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值