==  :

1.基本数据类型:根据基本数据类型的值判断是否相等,相等返回true,反之返回false

注意:两端数据类型可以不同, 在不同的情况下,也可以返回true

2.引用数据类型:Object obj1 =  newObject();                        比较引用类型变量的地址值是否相等

Object obj2=  newObject();

system.out.println(obj1 == obj2)//false

TestEquals:

package com.aff.equals;

import com.aff.java1.Person;

public class TestEquals {
public static void main(String[] args) {
// ==
int i = 12;
int j = 12;
System.out.println(i == j);// true
char c = 12;
System.out.println(i == c);// true
float f = 12.0f;
System.out.println(i == f);// true int k = 65;
char a = 'A';
System.out.println(k == a);// true Object obj1 = new Object();
Object obj2 = new Object();
System.out.println(obj1);
System.out.println(obj2);
System.out.println(obj1 == obj2);// false Person p1 = new Person();
Person p2 = new Person();
Person p3 = p1;
System.out.println(p1 == p2);// false
System.out.println(p1 == p3);// true
System.out.println("---------------------分割线-------------------------"); // equals():①只能处理引用类型变量
// ②在Object类,发现equals()仍然比较的两个引用变量的地址值是否相等
// java.lang.Object类,是所有类的根父类
Person p5 = new Person();
Person p6 = new Person();
System.out.println(p5.equals(p6));// false-->true 重写了Person的equals方法
System.out.println(p5 == p6);// false // 像String 包装类 File类 Date类这些重写Object类的equals()方法,
//比较是两个对象的实体内容是否完全相同
String str1 = new String("AA");
String str2 = new String("AA");
System.out.println(str1 == str2);// false
System.out.println(str1.equals(str2));// true }
} 输出结果:

true
true
true
true
java.lang.Object@6d06d69c
java.lang.Object@7852e922
false
false
true
---------------------分割线-------------------------
true
false
false
true

 

Person:重写equals方法:

package com.aff.java1;

public class Person {
private String name;
private int age; public Person() {
super();
} public Person(String name, int age) {
super();
this.name = name;
this.age = age;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public int getAge() {
return age;
} public void setAge(int age) {
this.age = age;
} public void walk() {
System.out.println("走路");
} public void eat() {
System.out.println("吃");
} @Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Person other = (Person) obj;
if (age != other.age)
return false;
if (name == null) {
if (other.name != null)
return false;
} else if (!name.equals(other.name))
return false;
return true;
} /* public boolean equals(Object obj) {
return true;
}
*/ }

最新文章

  1. 将jquery.shCircleLoader插件修改为zepto.js兼容
  2. 如何高效部署前端代码,如css,js...
  3. JavaScript break和continue 跳出循环
  4. Android Message和obtainMessage的区别
  5. java后台訪问url连接——HttpClients
  6. crontab的使用方法
  7. SVN服务迁移备份操作步骤
  8. Ajax框架,DWR介绍,应用,例子
  9. script 修改 plist遇到的问题
  10. Vc数据库编程基础MySql数据库的表查询功能
  11. iview表单验证不生效问题注意点
  12. 配置Java运行环境
  13. Python开发——6.文件操作
  14. 向jsp中引入公共文件
  15. Mac使用数据线连接ios,安装deb
  16. Java打印九九乘法表及倒打九九乘法表
  17. PAT 甲级 1015 Reversible Primes(20)
  18. 编码 GBK 的不可映射字符
  19. numpy 学习总结
  20. supervisor进程管理工具

热门文章

  1. muduo网络库源码学习————线程类
  2. Nginx模块开发(3)————使用upstream访问第三方服务
  3. IP 基础知识全家桶,45 张图一套带走
  4. E - Tunnel Warfare HDU - 1540 F - Hotel G - 约会安排 HDU - 4553 区间合并
  5. node基础知识-说说对node的理解
  6. Coursera课程笔记----Write Professional Emails in English----Week 2
  7. Day_08【面向对象】扩展案例1_测试项目经理类和程序员类
  8. 【Hadoop离线基础总结】zookeeper的介绍以及集群环境搭建、网络编程和RPC的简单了解
  9. Liunx常用操作(五)-如何查询文档中的冒号与引号
  10. 爬虫系列 一次采集.NET WebForm网站的坎坷历程