Java中对象比较(第三个代码模型)
来源:互联网 发布:网络实时音视频传输 编辑:程序博客网 时间:2024/06/14 10:07
package cn.mdln.study1;
/**
* 对象比较(第三个代码模型)
* @author Administrator
* 基本数据类型:x==y(内容像等就返回true)
* 对象比较:obj1.equals(obj2)(只要堆内存的内容相同),则返回true
* obj1==obj2(只有两个对象指向的是同一个堆内存),才返回true;
* 凡是只要是自己定义的类,当比较对象是否相等,必须重写Object类中的equals方法
*/
public class TestDemo11 {
public static void main(String[] args) {
Personcls per11=new Personcls("a");
Personcls per22=new Personcls("a");
Personcls per21=per22;
System.out.println(per21==per22);//true
System.out.println(per21.equals(per22));//true
System.out.println(per11==per22);//false
System.out.println(per11.equals(per22));//true
Personcls per1=new Personcls("a",18);
Personcls per2=new Personcls("a",18);
System.out.println(per1==per2);//false
System.out.println(per1.equals(per2));
}
}
class Personcls
{
private String name;
private int age;
public Personcls(){}
public Personcls(String name)
{
this.name=name;
}
public Personcls(String name,int age)
{
this.name=name;
this.age=age;
}
public boolean equals(Personcls cls)
{
if(this==cls)//判断是否跟自己比较
return true;
else if(cls==null||this==null)//判断是否为空
return false;
if(this.name.equals(cls.getName())&&this.age==cls.getAge())
return true;
else
return false;
}
public String getName()
{
return this.name;
}
public int getAge()
{
return this.age;
}
}
/**
* 对象比较(第三个代码模型)
* @author Administrator
* 基本数据类型:x==y(内容像等就返回true)
* 对象比较:obj1.equals(obj2)(只要堆内存的内容相同),则返回true
* obj1==obj2(只有两个对象指向的是同一个堆内存),才返回true;
* 凡是只要是自己定义的类,当比较对象是否相等,必须重写Object类中的equals方法
*/
public class TestDemo11 {
public static void main(String[] args) {
Personcls per11=new Personcls("a");
Personcls per22=new Personcls("a");
Personcls per21=per22;
System.out.println(per21==per22);//true
System.out.println(per21.equals(per22));//true
System.out.println(per11==per22);//false
System.out.println(per11.equals(per22));//true
Personcls per1=new Personcls("a",18);
Personcls per2=new Personcls("a",18);
System.out.println(per1==per2);//false
System.out.println(per1.equals(per2));
}
}
class Personcls
{
private String name;
private int age;
public Personcls(){}
public Personcls(String name)
{
this.name=name;
}
public Personcls(String name,int age)
{
this.name=name;
this.age=age;
}
public boolean equals(Personcls cls)
{
if(this==cls)//判断是否跟自己比较
return true;
else if(cls==null||this==null)//判断是否为空
return false;
if(this.name.equals(cls.getName())&&this.age==cls.getAge())
return true;
else
return false;
}
public String getName()
{
return this.name;
}
public int getAge()
{
return this.age;
}
}
0 0
- Java中对象比较(第三个代码模型)
- 面向对象-第一个代码模型
- java 中对象比较大小
- Java中对象的比较
- java中对象的比较
- c++ 、java 、 oc 对象模型比较(干货)
- Java面向对象程序设计 java实验报告第三个
- 问个比较菜的问题,在JAVA中new完对象后有没有办法消除对象,节省手机内存。
- HTML第三个代码
- Java中比较2个数组内容
- java 中对象的内存模型
- JVM中Java对象内存模型
- java中内存模型及对象头
- 谈谈Java中对象的比较
- 如何在Java中实现对象比较
- 在Java中实现对象比较
- JAVA中String对象的比较
- Java中实现对象的比较
- FastJson:常规使用,积少成多:
- 梳理caffe代码loss(二十二)
- 简单Java类多对多映射
- 如何实现定时执行php的程序
- eclipse搭建andriod开发环境
- Java中对象比较(第三个代码模型)
- 179.The TRANS_SUMMARY table contains product-wise transaction details that get updated with every tr
- 解决:Error:Execution failed for task app:predexdebug
- 图片瀑布展示 web开发
- 【HDU 杭电 2059 龟兔赛跑】
- Java容器小解析
- 各种CSS布局总结
- Windows 64位下安装Redis超详细教程
- Java中 包装类与字符串之间的转化