zoukankan      html  css  js  c++  java
  • ==和equals的区别

    1、==既可以比较基本类型,也可以比较引用类型。对于基本类型就是比较值,是否相等。对于引用类型就是比较内存的地址。

    2、equals的话,它是属于java.lang.Object类里面的方法,如果该方法没有被重写过默认也是==。

    (可以看到String等类的equals方法是被重写过的,而且String类在日常开发中用的比较多,久而久之,形成了equals是比较值的错误观点)。

    3、具体要看自定义类有没有重写Object的方法来判断。

    4、通常情况,重写equals方法,会比较类中的相应属性是否都相等。

    5、通常情况下,自定义类如果要使用equals 比较对象实体(属性值)是否相同,需要对equals进行重写

    public class testObj{
    	public static void main(String[] args){
    		//==运算符 equals方法
    		int i=10;
    		int j=10;
    		double d=10.0;
    		//System.out.println(i==d);//true
    		
    		char c=10;
    		//System.out.println(i==c);//TRUE
    		
    		Customer cust1=new Customer("djalei",21);
    		Customer cust2=new Customer("djalei",21);
    		//System.out.println(cust1==cust2);//false 地址不同。
    		
    		String str1=new String("alei");
    		String str2=new String("alei");
    		System.out.println(str1==str2);//false 
    		System.out.println(cust1.equals(cust2));//false
    		System.out.println(str1.equals(str2));//重写了的
    		
    		//equlas()
    		//只适用于引用数据类型
    		//
    	}
    }
    

      

  • 相关阅读:
    Nginx从安装到配置文件详解
    python流程控制语句
    python数据类型以及方法
    python介绍以及基础基础语法
    new 操作符
    js 模拟substr
    js 对于链式加载的思考
    js 实现哈夫曼树
    js实现深度优先
    js 广度优先遍历
  • 原文地址:https://www.cnblogs.com/Alei777/p/15023619.html
Copyright © 2011-2022 走看看