==和equals()都是比较相等的,那有什么区别和联系;

1:基本类型(primitive types), 共有8种,即int, short, long, byte, float, double, boolean, char

使用==比较基本数据类型时比较的是数值是不是相等;

例如:

1 packageequals;2

3 public classTest {4 public static voidmain(String[] args) {5 int a=3;6 int b=4;7 int c=3;8 b=c;9 System.out.println(a==c);10 System.out.println(a==b);11 }12 }

因为基本数据类型是在栈中的,理解堆栈就好理解这个问题,具体参考我的另一篇博客》》》堆栈     http://www.cnblogs.com/GH0522/p/8193650.html

那么当比较两个对象的时候比较的是 对象在内存的位置

1 packageequals;2

3 public classTest2 {4

5 public static voidmain(String[] args) {6 //TODO Auto-generated method stub

7 Double d = new Double(12.2);8 Double d2 = new Double(12.2);9 System.out.println(d==d2);10

11 }12 }

因为这两个对象在堆中都拥有一个不同的地址虽然里面放的数值是一样的;

JAVA当中所有的类都是继承于Object这个基类的,在Object中的基类中定义了一个equals的方法,这个方法的初始行为是比较对象的内存地址,但在一些类库当中这个方法被覆盖掉了,如String,Integer,Date在这些类当中equals有其自身的实现,而不再是比较类在堆内存中的存放地址了。例如String重写的equals方法就是比较内存中存放的值。

1 packageequals;2

3 public classTest2 {4

5 public static voidmain(String[] args) {6 //TODO Auto-generated method stub

7 String a=new String("a");8 String b=new String("a");9 System.out.println(a==b);10 System.out.println(a.equals(b));11 }12 }

看其String类中被重写的equals

没被重写的Object中的equals则是实现自==

java 和equals_java中的==和equals()相关推荐

  1. java map equals_Java中EnumMap的equals()方法: Java.util.EnumMap.equals() - Break易站

    Java中的Java.util.EnumMap.equals(obj)用于将传递的对象与 句法: boolean equals(Object obj) 参数:该方法采用Object类型的一个参数obj ...

  2. java class equals_Java中equals方法的用法

    一.Object类中的equals方法 所有类都从Object类中继承了equals方法. Object类中equals方法源代码如下: public boolean equals (Object o ...

  3. java里equals_Java中equals和==的区别

    java中的数据类型,可分为两类: 1.基本数据类型,也称原始数据类型.byte,short,char,int,long,float,double,boolean 他们之间的比较,应用双等号(==), ...

  4. java if equals_Java中判断对象是否相等的equals()方法使用教程

    Object类中的equals方法用于检测一个对象是否等于另一个对象.在Object类中,这个方法判断两个对象是否具有相同的引用,如果两个对象具有相同的引用,它们一定是相等的.从这点上看,将其作为默认 ...

  5. java 物理地址_java中的==与equals的区别是什么,什么是物理地址?

    1. public class TestString { public static void main(String[] args) { String s1 = "Monday" ...

  6. java中hashcode()和equals()的详解[转]

    今天下午研究了半天hashcode()和equals()方法,终于有了一点点的明白,写下来与大家分享(zhaoxudong 2008.10.23晚21.36).  1. 首先equals()和hash ...

  7. java中的==、equals()、hashCode()源码分析

    在java编程或者面试中经常会遇到 == .equals()的比较.自己看了看源码,结合实际的编程总结一下. 1. == java中的==是比较两个对象在JVM中的地址.比较好理解.看下面的代码: p ...

  8. scale和java比较_浅谈java中BigDecimal的equals与compareTo的区别

    这两天在处理支付金额校验的时候出现了点问题,有个金额比较我用了BigDecimal的equals方法来比较两个金额是否相等,结果导致金额比较出现错误(比如3.0与3.00的比较等). [注:以下所讲都 ...

  9. equals null报错吗_轻轻松松教你搞定Java中的==和equals

    前言 相信很多读者关于==和equals懂了又懵,懵了又懂,如此循环,事实上可能是因为看到的博客文章之类的太多了,长篇大论,加上一段时间的洗礼之后就迷路了.本篇文章再一次理清楚.当然如果觉得本文太啰嗦 ...

最新文章

  1. 华为持续引领,开辟5G Massive MIMO绿色新赛道
  2. java.util.date_关于java中java.util.Date(急)
  3. dataset__getitem___PyTorch源码解析与实践(1):数据加载Dataset,Sampler与DataLoader
  4. php成绩管理前段模板,php学生成绩管理系统(模板).doc
  5. 详解Google第二代TPU 既能推理又能训练 性能霸道
  6. idea 2019.2 版本更新(最顶部从白色边框变为黑色边框)
  7. 排序算法(Java实现)
  8. 服务器共享文件审计,内网安全管理系统-共享审计
  9. (项目)在线教育平台(六)
  10. 产品设计:APP个人信息保护指引
  11. 不同数据库的自增代码
  12. JavaScript学习笔记:动态添加与删除表格行
  13. 关键路径-stl版_A*算法与蚁群算法相结合的无人艇巡逻路径规划
  14. CF988 D. Points and Powers of Two【hash/数学推理】
  15. Linux下的touch命令
  16. Lecture 5:无模型控制
  17. 查看npy文件中存的是什么
  18. 抖音短视频的营销模式
  19. 新浪UC,這些人你咋就不管?
  20. 一块硬盘装了黑苹果 一块硬盘装了win7_自己组装一台“iMac”是什么体验(下):AMD 平台也能吃上黑苹果...

热门文章

  1. Spring中@Pattern的使用
  2. leetcode-383-Ransom Note(以空间换时间)
  3. PHP设计模式:观察者模式
  4. 不可不知的Python模块: collections
  5. 在执行ab压力测试时出现socket: Too many open files (24)的解决方法
  6. 域名端口自己电脑做服务器续,用默认端口,自动跳转到默认项目 【直接用域名访问我们本机的项目】...
  7. 财务一体化项目,进度与计划17
  8. VI常用使用命令 为初次接触VI 的兄弟们献微利
  9. 自定义spring schema简化与canal集成
  10. JobTracker节点后台线程之RetireJobs