public boolean equals(String s)

本文通过几个实例详细介绍了在Java中如何使用equals方法和==操作符来比较字符串。演示了直接赋值与new关键字创建字符串对象时,两者在内存中存储方式的不同及对比较结果的影响。

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

public class Example8_2{

public static void main(String args[]){

String s1,s2;

s1=new String("天道酬勤");

s2=new String("天道酬勤");

System.out.println(s1.equals(s2));//输出结果是true

System.out.println(s1==s2);//输出结果是false

String s3,s4;

s3="we are students";

s4=new String("we are students");

System.out.println(s3.equals(s4));//输出结果是true

System.out.println(s3==s4);//输出结果是false

String s5,s6;

s5="勇者无敌";

s6="勇者无敌";

System.out.println(s5.equals(s6));//输出结果是true

System.out.println(s5==s6);//输出结果是true

}

}



public boolean equals方法一般用于比较两个对象是否相等。在Java中,使用"=="运算符比较两个对象时,会比较这两个对象在内存中的地址是否相同,而不是比较它们的内容是否相同。因此,如果我们需要比较两个对象的内容是否相同,需要使用equals方法。 equals方法的通用实现方式是,首先比较两个对象的类型是否相同,如果类型不同则返回false,如果类型相同再比较它们的内容是否相等。对于不同类型的对象,一般需要进行类型转换之后才能进行比较。 例如,我们可以编写一个Person类,并实现equals方法来比较两个Person对象的内容是否相等: ``` public class Person { private String name; private int age; private String address; public Person(String name, int age, String address) { this.name = name; this.age = age; this.address = address; } @Override public boolean equals(Object o) { if (o == this) return true; if (!(o instanceof Person)) return false; Person p = (Person) o; return name.equals(p.name) && age == p.age && address.equals(p.address); } } ``` 在上面的例子中,我们重写了equals方法,并在其中比较了Person对象的三个属性,即name、age和address是否相等。如果三个属性都相等,则返回true,否则返回false。 使用equals方法的场景包括但不限于: 1. 比较两个对象是否相等,例如在集合类中的contains方法中使用; 2. 实现对象的哈希表等数据结构时需要使用equals方法来判断两个对象是否相等; 3. 在自定义类中重写equals方法,以便于比较对象的内容是否相等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值