在 Java 中,equals 方法是用于比较两个对象是否相等的方法。对于字符串,equals 方法比较的是字符串的内容而不是引用地址。以下是关于 Java 中字符串 equals 方法的详细解释:
1 1. 基本用法:
String "Hello"
String "World"
String "Hello"
// 使用equals比较字符串内容
booleanequals // 返回 false
booleanequals // 返回 true
1 2. 避免空指针异常:
String "Hello"
String null
// 避免空指针异常,可以使用"Hello".equals(str2)而不是str2.equals("Hello")
boolean "Hello"equals equals()方法// 返回 false
上述示例中,使用 "Hello".equals(str2) 可以避免空指针异常,因为如果 str2 为 null,则不会调用 str2.equals("Hello")。
1 3. 不同大小写比较:
String "hello"
String "HELLO"
// 使用equalsIgnoreCase进行不区分大小写的比较
booleanequalsIgnoreCase // 返回 true
1 4. 比较StringBuilder和StringBuffer:
StringBuilder 和 StringBuffer 是可变的字符串,它们没有提供 equals 方法。但是,你可以通过将它们转换为字符串,然后使用字符串的 equals 方法来比较:
StringBuilder new StringBuilder"Hello"
String "Hello"
booleantoStringequals // 返回 true
1 5. 重写equals方法:
如果你定义了自己的类,并希望比较对象的内容而不是引用地址,你应该重写 equals 方法。在重写时,通常也要重写 hashCode 方法以保持一致性。
public class
private String
// 构造方法等省略
@Override
public boolean equalsObject
if this
return true
if null getClass getClass
return false
returnequalsvalue
@Override
public int hashCode
returnhash
以上是 Java 中字符串 equals 方法的一些常见用法。在比较字符串时,特别注意空指针异常和大小写敏感/不敏感的要求。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论