关于equals方法和“==”的个人理解

来源:互联网 发布:淘宝联盟登录 编辑:程序博客网 时间:2024/06/05 06:36
//1.基本上数据类型性比较只能使用==
/*例如: int a1=new Integer(3);
System.out.println(a1==3);*/
/*例如:
* int a=new Integer(3);
System.out.println(a.equals(3));
就会报错
*/
//2.比较String的时候用既可以用==,也可以用equals
  //2.1使用==比较的时候
//2.1.1如果==两边是变量,比较的是另个变流量对应的内存中存储的位置
//2.1.2如果==左边和右边不一样的时候(一个是变量一个是基本数据类型)那么比较的是变量中存储的引用和基本数据类型比较
//2.2使用equals比较String的时候,不管比价变量还是指接比较比较的都是字符串
//所以我们比较连个字符串的时候都是使用equals进行比较
/*例如
String nu = new String("333");
String nu2=new  String("333");
System.out.println(nu==nu2);//false
System.out.println(nu=="333");//false
System.out.println(nu.equals("333"));//比较的是变量中存储的值//true*/
//3.比较引用数据类型的时候用equals,对于任意个一个类,如果沒有重写equals方法的时候就是采用继承object的该方法
//而object中该方法是这么写的:boolean equals(Object o){return this==o}
//所以对于类的比较我们可以使用继承过来的equals方法(这时候表示比较变量对应内存中中存储的指针信息),
//也可以自己重写该方法让他们比较具体的属性,按照自己的需要来写。
原创粉丝点击