首页 > 编程语言 >java equals与==的区别

java equals与==的区别

时间:2023-08-28 10:05:48浏览次数:41  
标签:java 区别 对象 Object equals true 比较

== :

== 比较的是变量(栈)内存中存放的对象的(堆)内存地址,用来判断两个对象的地址是否相同,即是

否是指相同一个对象。比较的是真正意义上的指针操作。

1、比较的是操作符两端的操作数是否是同一个对象。 2、两边的操作数必须是同一类型的(可以是

父子类之间)才能编译通过。 3、比较的是地址,如果是具体的阿拉伯数字的比较,值相等则为

true,如: int a=10 与 long b=10L 与 double c=10.0都是相同的(为true),因为他们都指向地

址为10的堆。


equals:

equals用来比较的是两个对象的内容是否相等,由于所有的类都是继承自java.lang.Object类的,所

以适用于所有对象,如果没有对该方法进行覆盖的话,调用的仍然是Object类中的方法,而Object

中的equals方法返回的却是==的判断。


总结:

所有比较是否相等时,都是用equals 并且在对常量相比较时,把常量写在前面,因为使用object的

equals object可能为null 则空指针


标签:java,区别,对象,Object,equals,true,比较
From: https://blog.51cto.com/u_16185354/7260059

相关文章

  • Java面试题:顺序锁和轮询锁解决死锁问题
    (目录)死锁(DeadLock)示例两个线程线程1:先获取锁A,再获取锁B线程2:先获取锁B,再获取锁Apackagecom.example.demo;publicclassDeadLockExample{publicstaticvoidmain(String[]args){ObjectlockA=newObject();//创建锁AObjectlockB=n......
  • 20230628 java.sql.DriverManager
    介绍java.sql.DriverManagerpublicclassDriverManager驱动管理器根据API编写的程序都可以与驱动管理器进行通信,而驱动管理器则通过驱动程序与实际的数据库进行通信APIstaticgetConnectionConnectiongetLogWriter,setLogWritergetLoginTimeout,setLoginT......
  • 20230628 java.sql.ResultSet
    介绍java.sql.ResultSetpublicinterfaceResultSetextendsWrapper,AutoCloseable结果集结果集支持滚动,支持更新,默认不开启API常量FetchDirectionFETCH_FORWARD:1000FETCH_REVERSE:1001FETCH_UNKNOWN:1002resultSetTypeTYPE_FORWARD_ONLY:1003结果......
  • 20230628 java.sql.SQLException
    介绍java.sql.SQLExceptionpublicclassSQLExceptionextendsjava.lang.ExceptionimplementsIterable每个SQLException都有一个由多个SQLException对象构成的链有大量的异常子类,按照树结构组织API构造器SQLException()SQLException(Stringreason)SQLExceptio......
  • 20230628 java.sql.Statement
    介绍java.sql.StatementpublicinterfaceStatementextendsWrapper,AutoCloseable语句API常量SUCCESS_NO_INFO:-2EXECUTE_FAILED:-3getMoreResultsCLOSE_CURRENT_RESULT:1KEEP_CURRENT_RESULT:2CLOSE_ALL_RESULTS:3autoGeneratedKeysRETURN_GENE......
  • 20230629 java.sql.CallableStatement
    介绍java.sql.CallableStatementpublicinterfaceCallableStatementextendsPreparedStatementAPIpublicregisterOutParameterwasNullset/getgetArraygetRefsetAsciiStreamsetBigDecimal,getBigDecimalsetBinaryStreamsetBlob,getBlobsetBoolean,getBoo......
  • 20230629 java.sql.DatabaseMetaData
    介绍java.sql.DatabaseMetaDatapublicinterfaceDatabaseMetaDataextendsWrapper数据库的元数据API常量procedureResultUnknown:0procedureNoResult:1procedureReturnsResult:2procedureColumnUnknown:0procedureColumnIn:1procedureColumnInOut:2p......
  • 20230629 java.sql.ParameterMetaData
    介绍java.sql.ParameterMetaDatapublicinterfaceParameterMetaDataextendsWrapper预备语句参数的元数据API常量parameterNoNulls:0parameterNullable:1parameterNullableUnknown:2parameterModeUnknown:0parameterModeIn:1parameterModeInOut:2par......
  • 20230629 java.sql.PreparedStatement
    介绍java.sql.PreparedStatementpublicinterfacePreparedStatementextendsStatement预备语句APIpublicaddBatchclearParametersgetMetaData结果集元数据ResultSetMetaDatagetParameterMetaData预备语句参数的元数据ParameterMetaDataexecutee......
  • 20230629 java.sql.ResultSetMetaData
    介绍java.sql.ResultSetMetaDatapublicinterfaceResultSetMetaDataextendsWrapper结果集的元数据API常量columnNoNulls:0columnNullable:1columnNullableUnknown:2publicgetColumnCount返回当前ResultSet对象中的列数getColumnDisplaySize返......