zoukankan      html  css  js  c++  java
  • == 和equals

    Java 程序中测试两个变量是否相等有两种方式,一种是利用==运算符,另一种是利用equals方法。

    当使用==来判断两个变量是否相等时 :

                                                                   如果2个变量是基本类型的变量,且都是数值型(不一定要求数据类型严格相同),则只要两个变量的值相等,使用==判断就将返回true。

                                                                   但对于两个引用类型的变量,必须它们指向同一个对象时,==判断才会返回true,



    Set 集合就是用equals方法判断元素是否重复的. (还需比较hashcode)


    判断两个对象是否相等,需重写equals方法.

    class Person{
    	
    	private String name;
    	private String idStr;
    	
    	public Person(){
    		
    	}
    	
    	public Person(String name,String idStr){
    		this.name=name;
    		this.idStr=idStr;
    	}
    
    	public String getName() {
    		return name;
    	}
    
    	public void setName(String name) {
    		this.name = name;
    	}
    
    	public String getIdStr() {
    		return idStr;
    	}
    
    	public void setIdStr(String idStr) {
    		this.idStr = idStr;
    	}
    	
    	//重写equals方法,提供自定义的相等标准
    	public boolean equals(Object obj){
    		
    		//只有当obj是person对象
    		if(obj!=null&&obj instanceof Person){
    			Person personObj=(Person) obj;
    			//并且当前对象的idStr与obj对象的idStr相等才可判断两个对象相等
    			if(this.getIdStr().equals(personObj.getIdStr())){
    				 return true;
    			}
    		}
    		return false;
    	}
    }
    
    
    
    public class OverrideEqualsRight {
    	public static void main(String[] args) {
    		
    		Person p1=new Person("tom1","1234");
    		Person p2=new Person("tom2","1234");
    		Person p3=new Person("tom3","9012");
    		
    		//p1和p2的值相等,所以输出true
    		System.out.println("p1和p2是否相等?: "+p1.equals(p2));
    		//p2和p3的idStr不相等,所以输出false
    		System.out.println("p2和p3是否相等?: "+p2.equals(p3));
    
    
    	}
    
    }
    


  • 相关阅读:
    POJ 3258 (NOIP2015 D2T1跳石头)
    POJ 3122 二分
    POJ 3104 二分
    POJ 1995 快速幂
    409. Longest Palindrome
    389. Find the Difference
    381. Insert Delete GetRandom O(1)
    380. Insert Delete GetRandom O(1)
    355. Design Twitter
    347. Top K Frequent Elements (sort map)
  • 原文地址:https://www.cnblogs.com/wuyida/p/6300343.html
Copyright © 2011-2022 走看看