equals和==
==判断左右两端的数据是否一致
equals:object类提供的一个方法,用来判断两个对象是否相等
equals可以自己重写
public class Cat {
String name;
String color;
public Cat(String name,String color){
this.color=color;
this.name=name;
}
public boolean equals(Cat c){
if(this.color==c.color){//单纯的自己去写判断的逻辑
return true;
}else{
return false;
}
}
public static void main(String[] args) {
Cat c1=new Cat("小花","红色");
Cat c2=new Cat("小花","红色");
// System.out.println(c1==c2);//false
System.out.println(c1.equals(c2));//false
}
}
public class Test {
public static void main(String[] args) {
// String str1="小红";
// String str2="小红";//第二次的小红并没有单独占用内存空间
//
// System.out.println(str1==str2);//true
// System.out.println(str1.equals(str2));//true
String str3=new String("钢精");
String str4=new String("钢精");
System.out.println(str3==str4);
System.out.println(str3.equals(str4));
//字符串的判断必须用equals可以帮我们判断内容
}
}
运行结果
false
true
Process finished with exit code 0
字符串的判断一定要用equals来判断
小练习:模拟用户登录
import java.util.Scanner;
public class Test2 {
public static void main(String[] args) {
String username="admin";
String password="123";
Scanner sc=new Scanner(System.in);
System.out.println("请输入用户名:");
String uname=sc.nextLine();
System.out.println("请输入密码:");
String upwd=sc.nextLine();
//判断用户名和密码是否ok,用equals来判断
if(uname.equals(username)&&upwd.equals(password)){
System.out.println("登陆成功");
}else{
System.out.println("登陆失败");
}
}
}
运行结果
请输入用户名:
admin
请输入密码:
123
登陆成功
Process finished with exit code 0
(自主学习,侵权可删)