`
toyota2006
  • 浏览: 545835 次
  • 性别: Icon_minigender_1
  • 来自: 石家庄
社区版块
存档分类
最新评论

Java基础--equals(Object) 与 == 的区别

阅读更多
在比较对象时候,常常用到 "==" 和 "equals(Object)"。它们常常让初学者感到疑惑。偶曾经初学java时也常常犯这种低级错误,下面给大家一个例子(偶不多作解释了超简单奥!)

import java.lang.reflect.InvocationTargetException;

import org.apache.commons.beanutils.BeanUtils;

public class EqualsDemo {
  public static void main(String[] args)  {
    String s1 = new String("abc");
    String s2 = new String("abc");
    String s3 = "abc";
    String s4 = s3;
    String s5 = new String();
    try {
      /*
       * 用beanutil克隆一个对象
       */
      BeanUtils.copyProperties(s5, s3);
    } catch (IllegalAccessException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    } catch (InvocationTargetException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
    System.out.println("用 == 比较结果");
    System.out.println(s1 == s2);// false
    System.out.println(s1 == s3);
    System.out.println(s4 == s3);
    System.out.println(s4 == s5);
    System.out.println("用equals(Object) 比较结果");
    System.out.println(s1.equals(s2));// true
  }
}
分享到:
评论

相关推荐

    equals(Object) 与 == 的区别

    equals(Object) 与 == 的区别

    java基础知识-equals的使用

    equals() 是 Java 中的一个方法,用于比较对象是否相等。它是 Object 类的方法,在许多类中都可以使用。 在默认情况下,equals() 方法用于比较两个对象的引用是否相等,即判断它们是否指向同一个内存地址。这是通过...

    java中==和equals的区别

    前言 对于开发的程序员小伙伴,...equals:在Object中模式采用==比较,通常会重写 String对象重写了 equals,比较的是变量值 从上面我们笼统的来说明了一下两者的不同,那么接下来我们看看具体的区分 对象类型的比较

    Java Object类认识

    Java 对Object类的认识和equals()方法和== 的对比

    javabiginteger源码-Java:Java

    其equals与==有没有差别? 其hashCode及clone前面有个什么修饰语? 其toString()返回什么? 其构造函数及finalize()做了什么? ##-----java.lang.Class类----- 5. 为什么说Class类不能被继承? 6. 为什么说我们不能 ...

    javacv-platform-1.3.3-src

    // We can "cast" Pointer objects by instantiating a new object of the desired class. CvHaarClassifierCascade classifier = new CvHaarClassifierCascade(cvLoad(classifierName)); if (classifier.isNull...

    java中的==和equals()方法1

    Java中的==与equals()实例方法Java中测试两个变量是否相等的方法有两个,一个是用==运算符,另一个就是object类提供的equals()方法。2

    Java中==与equals的区别

    用此blog记录我学习的过程,文中若有不恰当的地方,还望友情指出互相学习。 一、== 主要有两种比较形式 基本数据类型(也称原始数据类型):byte,...Java中所有的类都继承自Object类,equals()方法就在Object类中被

    ==和equals方法究竟有什么区别

    ==和equals方法究竟有什么区别?  == 操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用变量是否相等,只能用==操作符。  ...

    Java基础知识点总结.docx

    九、 java.lang.Object 31 十、 异常★★★★ 34 十一、 包(package) 37 十二、 多线程★★★★ 39 为什么要使用多线程 39 创建线程和启动 39 线程的生命周期 44 线程管理 45 线程同步 49 线程通信 52 线程池 58 ...

    java--scjp考题复习

    scjp考题 930. What String instance method would return true when ...What does the object reference t contain? Select the one right answer. A. "yper" B. "ype" C. "pert" D. "per" E. "perte" 正确答案: D

    关于Java中的“==”与equals()

    书上的一个例子说明了“==”与equals()方法的区别。 以下是例子代码(摘自《Java核心技术》卷一): Employee.java package equals; import java.time.*; import java.util.Objects; /* * 一个{@Employee}代表

    Java中Object.equals和String.equals的区别详解

    主要给大家介绍了Java中Object.equals和String.equals的区别,文中通过一个小示例让大家轻松的明白这两者的区别,对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。

    Java的Object类讲解案例代码 equals()、hashCode()、finalize()、clone()、wait()

    Java初学者:如果你是刚开始学习Java编程,那么Object类是一个重要的基础知识点。通过该案例代码,你可以学习如何在自己的类中正确重写equals()、hashCode()、toString()等方法,提高代码质量和可读性。 经验丰富的...

    java中关键字Object详解

    Object是Java编程中的基础类,所有类都直接或间接地继承了它,并从它继承了一些方法,如equals()、toString()和getClass()等。 首先,Object类是Java中的根源,它定义了所有Java类的通用行为,如Object类的toString...

    java自学资料

    问题目录: -----------初级---------...1)、equals与==的区别 17:如何判断信息中有没有中文: --------------中级-------------- 18:有关Collection 的新增、修改、删除 19:List、Collection的区别 20:map集合分析:

    java集合知识-map、set等

    public boolean equals(Object obj) { if(this == obj) return true; if(!(obj instanceof Person)) throw new ClassCastException("类型错误"); // System.out.println(this+"....equals....."+obj); ...

    Java理论与实践:hashCode()和equals()方法

    本文介绍了Java语言不直接支持关联数组,可以使用任何对象作为一个索引的数组,但在根Object类中使用 hashCode()方法明确表示期望广泛使用HashMap。理想情况下基于散列的容器提供有效插入和有效检索;直接在对象模式...

    java 经典面试题30道

    包括了Java运行环境JRE(Java Runtime Envirnment)、一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt.jar)。 JDK和JRE有什么区别? 答:JRE是Java运行环境,为Java的运行提供了所需的环境...

    基于javatcpsocket通信的拆包和装包源码-java-interview:java基础知识点

    equals()&==&hashCode()&Object&hashMap String 和 StringBuffer的区别 Collection&Collections区别 hashSet如何保证不重复 什么是线程同步 进程 和 线程 Lock 和 Synchronized 的区别 常见的内存溢出 重载和重写的...

Global site tag (gtag.js) - Google Analytics