java equals返回值_Java equals() 方法
equals() 方法用于判断 Number 对象与方法的参数进是否相等。
语法
public boolean equals(Object o)
参数
o -- 任何对象。
返回值
如 Number 对象不为 Null,且与方法的参数类型与数值都相等返回 True,否则返回 False。
Double 和 Float 对象还有一些额外的条件,可以参阅 API 手册:JDK 1.6。
实例public class Test{
public static void main(String args[]){
Integer x = 5;
Integer y = 10;
Integer z =5;
Short a = 5;
System.out.println(x.equals(y));
System.out.println(x.equals(z));
System.out.println(x.equals(a));
}
}
编译以上程序,输出结果为:false
true
false
public boolean equals(Object obj)
{
return this == obj;
}
Object中的equals方法是直接判断this和obj本身的值是否相等,即用来判断调用equals的对象和形参obj所引用的对象是否是同一对象,所谓同一对象就是指内存中同一块存储单元,如果this和obj指向的是同一块内存对象,则返回true,如果this和obj指向的不是同一块内存,则返回false,注意:即便是内容完全相等的两块不同的内存对象,也返回false。
那么equals()方法与之前的“==”有什么区别呢?
在进行演示代码之前先来了解一下Java内存的主要划分,可以帮助我们更好地理解下面的实例演示。
Java虚拟机里的堆区要存放new出来的对象,栈区存放局部变量,而方法区包含了类的所有信息,包括所有的方法,静态变量,常量等。
通过以下实例我们来加深一下equals与,代码如下:
public class Equals{
public static void main(String[] args){
String s1="apple";
String s2="apple";
System.out.println(s1==s2); //true
System.out.println(s1.equals(s2)); //equals比较的是内容,true
String s3=new String("apple");
String s4=new String("apple");
System.out.println(s3==s4); //false
System.out.println(s3.equals(s4)); //true
}
}
从上面的实例可以看出,“==”比较的是两个引用的对象是否相等,而equals()方法比较的是两个对象的实际内容。我们结合上面的内存的划分来理解这个区别。
String str1=new String("apple");
String str2=new String("apple");
System.out.println(s3==s4); //false
System.out.println(s3.equals(s4)); //true
上述几行代码内存分析如下图所示:
因为“==”比较的是两个引用的对象是否相等,从上图很容易看出来不等,所以System.out.println(s3==s4),结果为False;而equals()方法比较的是两个对象的实际内容,从图中可以看出s3和s4都指向apple,内容是相同的,所以System.out.println(s3.equals(s4)),结果为True。
再来看
String s1="apple";
String s2="apple";
内存分析如下图:
java equals返回值_Java equals() 方法相关推荐
- java递归函数返回值_Java基础——方法返回值递归
原标题:Java基础--方法返回值&递归 声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权:凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记. 例题:写一 ...
- java递归函数返回值_java基础5(方法、有无返回值、重载、递归)
方法: 定义:解决事情的办法.具有特定功能的代码块 特点: 1.方法不调用不执行 2.类中方法外,方法不能嵌套 有返回值类型的方法 定义格式: 修饰符 返回值类型 方法名([参数列表]){ 方法体语句 ...
- java 接口 返回值_java api返回值的标准化详解
api返回值的标准化 例如 {"status":200,"message":"操作成功","data":"{\ ...
- java匿名内部类返回值_java匿名内部类
java的内部类可以玩出好多花样.介绍都挺多,我就不废话了.专门记一下困惑了我好半天的匿名内部类. 总结一下: 1.匿名内部类通常是为了省事(直接获取一个类实例,这个类实例只在此处用一次,就省得再给它 ...
- java hashcode返回值_Java String hashCode() 使用方法及示例
Java String hashCode() 使用方法及示例 Java String hashCode()方法返回字符串的哈希码. 字符串hashCode()方法的语法为: string.hashCo ...
- java compareto 返回值_Java File compareTo()方法
Java File compareTo()方法 java.io.File.compareTo(File pathname) 方法比较两个抽象路径名的字典顺序.用这种方法定义的排序是依赖于操作系统. 1 ...
- java split 返回值_java中Split函数的使用方法
1.语法如下 String.split(sourceStr,maxSplit) String.split(sourceStr) 参数说明:sourceStr是被分割的字符串,maxSplit是最大的分 ...
- java indexof 返回值_Java String indexOf() 方法
例如: 在字符串中搜索"cjavapy"的首次出现:String myStr = "c java python is cjavapy and www.cjavapy.co ...
- java 内部类 返回值_Java学习笔记:形参和返回值、内部类、常用API
形参和返回值 类名作形参 public void useCat(Cat c){ c.eat(); } CatOperator co=new CatOperator(); Cat c=new Cat() ...
最新文章
- TCP连接的建立和终止
- 手把手教你将pyqt程序打包成exe(2)
- linux 中 id指令,Linux id 命令
- 英特尔核显驱动hd630_【惊喜提升】英特尔第十代Cometlake台式机处理器详解与简单评测...
- dubbo快速实战(非最佳配置,演示用)
- 算法详解_常用算法详解——打印杨辉三角形
- WCF开发之消息契约(MessageContract)
- Nginx教程(三) Nginx日志管理 (转)
- 扬州大学2022年858程序设计与数据结构试题参考答案
- python crm_学Python还是买CRM软件?
- 固定资产拆分比例怎么计算_固定资产折旧的计算方法
- DDD(领域驱动设计)专题(一):什么是DDD?
- Java 从虚拟机层面看程序代码是怎么运行起来的
- 武田公布2019财年第一季度强劲业绩并上调全年指引
- dimission letter exmaple
- APF有源电力滤波器Simulink仿真
- 盘点 2012 年没落科技巨头
- 计算机专业大学排名 来看你的学校排第几,华盛顿州大学计算机专业排名 你的学校排第几...
- java学习第109天,p665-676(05/07),12集干的漂亮
- 四款小众但非常实用的软件推荐