zoukankan      html  css  js  c++  java
  • java中== 和 .equals()的区别

      在java中,我们用来比较两个数据类型是否一样的时候,通常会用到 == 和 .equals(),然而这两者有什么区别呢。下面我们通过一些例子来看一下。

      

    package test;
    
    public class test {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		String a = "1";
    		String b = "1";
    		//int a = 1;
    		//int b = 1;
    		if(a == b)
    		{
    		System.out.println(" == ");
    		}
    		if(a.equals(b))
    		{	System.out.println(" .equal() ");
    		}
    	}
    
    }
    

      此时 == 和. equals()都会被输出,然而当我们把ab的数据类型换成string的时候,.equals()方法就会报错。这是为什么呢?

          对于基本数据类型来说(byte,short,char,int,long,float,double,boolean),判断两个变量是否相等的话,必须要要用 ==。

          对于非基本数据类型来说,. equals() 和 == 本质上都可以用于比较两个对象的的引用是否相同。只不过. equals() 在String,Integer,Date在这些类当中重写了,是用来判断具体存贮内容是否相等,而不是内存地址。

  • 相关阅读:
    今日头条、Face++开发岗面经
    美团offer面经
    成都百度测试开发一二面面经
    美团四面面经
    久邦数码(3G门户)面试
    58 面试
    好未来提前批
    百度提前批
    新浪面经
    Java Programs
  • 原文地址:https://www.cnblogs.com/GSONG/p/5250151.html
Copyright © 2011-2022 走看看