==和equals的简单比较

Java中equals与==的比较与用法 在上面的例子中,我们重写了Person类的equals方法,通过比较name和age属性的值来判断两个Person对象是否相等。equals方法是Java中的一个方法,定义在Object类中,因此所有的Java对象都可以调用该方法。在默认情况下,equals方法与==运算符的行为是一样的,即比较两个对象的引用地址。在实际使用中,我们可以根据具体的需求选择适合的比较方式,一般推荐使用equals方法进行对象的内容比较。在实际使用中,我们可以根据具体的业务需求重写equals方法,以实现自定义的对象比较逻辑。 阅读详情

前言:==和equals这个两个东西,经常放在一块做比较,下面我也给出一个简单的例子,对他俩进行一个简单的比较,先看例子,然后在看结论。(实验环境:win7+jdk7)

1:==和equals简单比较的实例代码如下

复制代码
public class BooleanTestMain {
    public static void main(String [] args){
        Boolean _Boolean1 = true;
        Boolean _Boolean2 = true;
        Boolean _Boolean3 = new Boolean(true);
        Boolean _Boolean4 = new Boolean(true);

        //输入对象的hashCode和identityHashCode,当对应的类没有重写hashCode()方法时,hashCode和identityHashCode是一致的
        System.out.println("_Boolean1.hashCode() is : "+_Boolean1.hashCode()+"   System.identityHashCode(_Boolean1) is : "+ System.identityHashCode(_Boolean1));
        System.out.println("_Boolean2.hashCode() is : "+_Boolean2.hashCode()+"   System.identityHashCode(_Boolean2) is : "+ System.identityHashCode(_Boolean2));
        System.out.println("_Boolean3.hashCode() is : "+_Boolean3.hashCode()+"   System.identityHashCode(_Boolean3) is : "+ System.identityHashCode(_Boolean3));
        System.out.println("_Boolean4.hashCode() is : "+_Boolean4.hashCode()+"   System.identityHashCode(_Boolean4) is : "+ System.identityHashCode(_Boolean4));

        //==比较的是对象引用地址值
        System.out.println("_Boolean1==_Boolean2 is : "+(_Boolean1==_Boolean2));
        System.out.println("_Boolean3==_Boolean4 is : "+(_Boolean3==_Boolean4));
        System.out.println("_Boolean1==_Boolean3 is : "+(_Boolean1==_Boolean3));

        //equals比较的是对象的值,如果对象没有重写equals的话,其作用和==一样,因为Object类的equals也是通过==来比较的
        System.out.println("_Boolean1.equals(_Boolean2) is : "+(_Boolean1.equals(_Boolean2)));
        System.out.println("_Boolean3.equals(_Boolean4) is : "+(_Boolean3.equals(_Boolean4)));
        System.out.println("_Boolean1.equals(_Boolean3) is : "+(_Boolean1.equals(_Boolean3)));

    }
}
复制代码

 上例运行的结果如下:

复制代码
"C:\Program Files\Java\jdk1.7.0_71\bin\java" -Didea.launcher.port=7532 "-Didea.launcher.bin.path=C:\Program Files (x86)\JetBrains\IntelliJ IDEA 2016.1.3\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.7.0_71\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.7.0_71\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.7.0_71\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.7.0_71\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.7.0_71\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.7.0_71\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.7.0_71\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.7.0_71\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.7.0_71\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.7.0_71\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.7.0_71\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.7.0_71\jre\lib\jce.jar;C:\Program Files\Java\jdk1.7.0_71\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.7.0_71\jre\lib\jfxrt.jar;C:\Program Files\Java\jdk1.7.0_71\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.7.0_71\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.7.0_71\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.7.0_71\jre\lib\resources.jar;C:\Program Files\Java\jdk1.7.0_71\jre\lib\rt.jar;D:\workspace_test\hello-world\out\production\hello-world;C:\Program Files (x86)\JetBrains\IntelliJ IDEA 2016.1.3\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMain com.jd.test.equ.BooleanTestMain
_Boolean1.hashCode() is : 1231   System.identityHashCode(_Boolean1) is : 1969344019
_Boolean2.hashCode() is : 1231   System.identityHashCode(_Boolean2) is : 1969344019
_Boolean3.hashCode() is : 1231   System.identityHashCode(_Boolean3) is : 1746959769
_Boolean4.hashCode() is : 1231   System.identityHashCode(_Boolean4) is : 756415799
_Boolean1==_Boolean2 is : true
_Boolean3==_Boolean4 is : false
_Boolean1==_Boolean3 is : false
_Boolean1.equals(_Boolean2) is : true
_Boolean3.equals(_Boolean4) is : true
_Boolean1.equals(_Boolean3) is : true

Process finished with exit code 0
复制代码

2:Boolean类的部分源码如下所示,重写了Object的hashCode()和equals()方法

复制代码
    /**
     * Returns a hash code for this {@code Boolean} object.
     *
     * @return  the integer {@code 1231} if this object represents
     * {@code true}; returns the integer {@code 1237} if this
     * object represents {@code false}.
     */
    public int hashCode() {
        return value ? 1231 : 1237;
    }

    /**
     * Returns {@code true} if and only if the argument is not
     * {@code null} and is a {@code Boolean} object that
     * represents the same {@code boolean} value as this object.
     *
     * @param   obj   the object to compare with.
     * @return  {@code true} if the Boolean objects represent the
     *          same value; {@code false} otherwise.
     */
    public boolean equals(Object obj) {
        if (obj instanceof Boolean) {
            return value == ((Boolean)obj).booleanValue();
        }
        return false;
    }
复制代码

3:Object类的equals()方法的源码如下所示,也是通过==来比较的

复制代码
    /**
     * Indicates whether some other object is "equal to" this one.
     * <p>
     * The {@code equals} method implements an equivalence relation
     * on non-null object references:
     * <ul>
     * <li>It is <i>reflexive</i>: for any non-null reference value
     *     {@code x}, {@code x.equals(x)} should return
     *     {@code true}.
     * <li>It is <i>symmetric</i>: for any non-null reference values
     *     {@code x} and {@code y}, {@code x.equals(y)}
     *     should return {@code true} if and only if
     *     {@code y.equals(x)} returns {@code true}.
     * <li>It is <i>transitive</i>: for any non-null reference values
     *     {@code x}, {@code y}, and {@code z}, if
     *     {@code x.equals(y)} returns {@code true} and
     *     {@code y.equals(z)} returns {@code true}, then
     *     {@code x.equals(z)} should return {@code true}.
     * <li>It is <i>consistent</i>: for any non-null reference values
     *     {@code x} and {@code y}, multiple invocations of
     *     {@code x.equals(y)} consistently return {@code true}
     *     or consistently return {@code false}, provided no
     *     information used in {@code equals} comparisons on the
     *     objects is modified.
     * <li>For any non-null reference value {@code x},
     *     {@code x.equals(null)} should return {@code false}.
     * </ul>
     * <p>
     * The {@code equals} method for class {@code Object} implements
     * the most discriminating possible equivalence relation on objects;
     * that is, for any non-null reference values {@code x} and
     * {@code y}, this method returns {@code true} if and only
     * if {@code x} and {@code y} refer to the same object
     * ({@code x == y} has the value {@code true}).
     * <p>
     * Note that it is generally necessary to override the {@code hashCode}
     * method whenever this method is overridden, so as to maintain the
     * general contract for the {@code hashCode} method, which states
     * that equal objects must have equal hash codes.
     *
     * @param   obj   the reference object with which to compare.
     * @return  {@code true} if this object is the same as the obj
     *          argument; {@code false} otherwise.
     * @see     #hashCode()
     * @see     java.util.HashMap
     */
    public boolean equals(Object obj) {
        return (this == obj);
    }
复制代码

 4:为了认清==比较的本质,我又多实验了一把,如下所示

复制代码
public class EquStringTestMain {
    public static void main(String[]args){
        String _String1 = "godtrue";
        String _String2 = "godtrue";
        System.out.println("_String1 value is : "+_String1+"\n_String2 value is : "+_String2);
        System.out.println("_String1 identityHashCode is :"+System.identityHashCode(_String1)+"\n_String2 identityHashCode is :"+System.identityHashCode(_String2));
        System.out.println("_String1==_String2 is : "+(_String1==_String2)+"\n");

        String _String3 = new String("godtrue");
        String _String4 = new String("godtrue");
        System.out.println("_String3 value is : "+_String3+"\n_String4 value is : "+_String4);
        System.out.println("_String3 identityHashCode is :"+System.identityHashCode(_String3)+"\n_String4 identityHashCode is :"+System.identityHashCode(_String4));
        System.out.println("_String3==_String4 is : "+(_String3==_String4)+"\n");

        String _String5 = _String1;
        String _String6 = _String1;
        System.out.println("_String5 value is : "+_String5+"\n_String6 value is : "+_String6);
        System.out.println("_String5 identityHashCode is :"+System.identityHashCode(_String5)+"\n_String6 identityHashCode is :"+System.identityHashCode(_String6));
        System.out.println("_String5==_String6 is : "+(_String5==_String6)+"\n");

        String _String7 = _String3;
        String _String8 = _String3;
        System.out.println("_String7 value is : "+_String7+"\n_String8 value is : "+_String8);
        System.out.println("_String7 identityHashCode is :"+System.identityHashCode(_String7)+"\n_String8 identityHashCode is :"+System.identityHashCode(_String8));
        System.out.println("_String7==_String8 is : "+(_String7==_String8)+"\n");

        String _String9 = _String1;
        String _String0 = _String3;
        System.out.println("_String9 value is : "+_String9+"\n_String0 value is : "+_String0);
        System.out.println("_String9 identityHashCode is :"+System.identityHashCode(_String9)+"\n_String0 identityHashCode is :"+System.identityHashCode(_String0));
        System.out.println("_String9==_String0 is : "+(_String9==_String0)+"\n");
    }
}
复制代码

 上例运行的结果,如下所示(每次运行identityHashCode都不同的哟):

复制代码
"C:\Program Files\Java\jdk1.7.0_71\bin\java" -Didea.launcher.port=7534 "-Didea.launcher.bin.path=C:\Program Files (x86)\JetBrains\IntelliJ IDEA 2016.1.3\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.7.0_71\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.7.0_71\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.7.0_71\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.7.0_71\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.7.0_71\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.7.0_71\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.7.0_71\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.7.0_71\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.7.0_71\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.7.0_71\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.7.0_71\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.7.0_71\jre\lib\jce.jar;C:\Program Files\Java\jdk1.7.0_71\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.7.0_71\jre\lib\jfxrt.jar;C:\Program Files\Java\jdk1.7.0_71\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.7.0_71\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.7.0_71\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.7.0_71\jre\lib\resources.jar;C:\Program Files\Java\jdk1.7.0_71\jre\lib\rt.jar;D:\workspace_test\hello-world\out\production\hello-world;C:\Program Files (x86)\JetBrains\IntelliJ IDEA 2016.1.3\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMain com.jd.test.equ.EquStringTestMain
_String1 value is : godtrue
_String2 value is : godtrue
_String1 identityHashCode is :1748462787
_String2 identityHashCode is :1748462787
_String1==_String2 is : true

_String3 value is : godtrue
_String4 value is : godtrue
_String3 identityHashCode is :247835561
_String4 identityHashCode is :1401482194
_String3==_String4 is : false

_String5 value is : godtrue
_String6 value is : godtrue
_String5 identityHashCode is :1748462787
_String6 identityHashCode is :1748462787
_String5==_String6 is : true

_String7 value is : godtrue
_String8 value is : godtrue
_String7 identityHashCode is :247835561
_String8 identityHashCode is :247835561
_String7==_String8 is : true

_String9 value is : godtrue
_String0 value is : godtrue
_String9 identityHashCode is :1748462787
_String0 identityHashCode is :247835561
_String9==_String0 is : false
复制代码

5:String类相对特殊一点,再来一个栗子尝尝

复制代码
public class EquTestMain {
    public static void main(String[]args){
        int int1 = 9;
        int int2 = 9;
        System.out.println("int1 value is : "+int1+"\nint2 value is : "+int2);
        System.out.println("int1 identityHashCode is :"+System.identityHashCode(int1)+"\nint2 identityHashCode is :"+System.identityHashCode(int2));
        System.out.println("int1==int2 is : "+(int1==int2)+"\n");

        Integer _Integer1 = 9;
        Integer _Integer2 = 9;
        System.out.println("_Integer1 value is : "+_Integer1+"\n_Integer2 value is : "+_Integer2);
        System.out.println("_Integer1 identityHashCode is :"+System.identityHashCode(_Integer1)+"\n_Integer2 identityHashCode is :"+System.identityHashCode(_Integer2));
        System.out.println("_Integer1==_Integer2 is : "+(_Integer1==_Integer2)+"\n");

        Integer _Integer3 = new Integer(9);
        Integer _Integer4 = new Integer(9);
        System.out.println("_Integer3 value is : "+_Integer3+"\n_Integer4 value is : "+_Integer4);
        System.out.println("_Integer3 identityHashCode is :"+System.identityHashCode(_Integer3)+"\n_Integer4 identityHashCode is :"+System.identityHashCode(_Integer4));
        System.out.println("_Integer3==_Integer4 is : "+(_Integer3==_Integer4)+"\n");

        Integer _Integer5 = int1;
        Integer _Integer6 = int1;
        System.out.println("_Integer5 value is : "+_Integer5+"\n_Integer6 value is : "+_Integer6);
        System.out.println("_Integer5 identityHashCode is :"+System.identityHashCode(_Integer5)+"\n_Integer6 identityHashCode is :"+System.identityHashCode(_Integer6));
        System.out.println("_Integer5==_Integer6 is : "+(_Integer5==_Integer6)+"\n");

        Integer _Integer7 = _Integer1;
        Integer _Integer8 = _Integer1;
        System.out.println("_Integer7 value is : "+_Integer7+"\n_Integer8 value is : "+_Integer8);
        System.out.println("_Integer7 identityHashCode is :"+System.identityHashCode(_Integer7)+"\n_Integer8 identityHashCode is :"+System.identityHashCode(_Integer8));
        System.out.println("_Integer7==_Integer8 is : "+(_Integer7==_Integer8)+"\n");

        Integer _Integer9 = _Integer3;
        Integer _Integer0 = _Integer3;
        System.out.println("_Integer9 value is : "+_Integer9+"\n_Integer0 value is : "+_Integer0);
        System.out.println("_Integer9 identityHashCode is :"+System.identityHashCode(_Integer9)+"\n_Integer0 identityHashCode is :"+System.identityHashCode(_Integer0));
        System.out.println("_Integer9==_Integer0 is : "+(_Integer9==_Integer0)+"\n");
    }
}
复制代码

 上例运行的结果,如下所示(每次运行identityHashCode都不同的哟):

复制代码
"C:\Program Files\Java\jdk1.7.0_71\bin\java" -Didea.launcher.port=7536 "-Didea.launcher.bin.path=C:\Program Files (x86)\JetBrains\IntelliJ IDEA 2016.1.3\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.7.0_71\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.7.0_71\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.7.0_71\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.7.0_71\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.7.0_71\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.7.0_71\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.7.0_71\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.7.0_71\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.7.0_71\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.7.0_71\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.7.0_71\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.7.0_71\jre\lib\jce.jar;C:\Program Files\Java\jdk1.7.0_71\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.7.0_71\jre\lib\jfxrt.jar;C:\Program Files\Java\jdk1.7.0_71\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.7.0_71\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.7.0_71\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.7.0_71\jre\lib\resources.jar;C:\Program Files\Java\jdk1.7.0_71\jre\lib\rt.jar;D:\workspace_test\hello-world\out\production\hello-world;C:\Program Files (x86)\JetBrains\IntelliJ IDEA 2016.1.3\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMain com.jd.test.equ.EquTestMain
int1 value is : 9
int2 value is : 9
int1 identityHashCode is :1401482194
int2 identityHashCode is :1401482194
int1==int2 is : true

_Integer1 value is : 9
_Integer2 value is : 9
_Integer1 identityHashCode is :1401482194
_Integer2 identityHashCode is :1401482194
_Integer1==_Integer2 is : true

_Integer3 value is : 9
_Integer4 value is : 9
_Integer3 identityHashCode is :1110594262
_Integer4 identityHashCode is :1977385357
_Integer3==_Integer4 is : false

_Integer5 value is : 9
_Integer6 value is : 9
_Integer5 identityHashCode is :1401482194
_Integer6 identityHashCode is :1401482194
_Integer5==_Integer6 is : true

_Integer7 value is : 9
_Integer8 value is : 9
_Integer7 identityHashCode is :1401482194
_Integer8 identityHashCode is :1401482194
_Integer7==_Integer8 is : true

_Integer9 value is : 9
_Integer0 value is : 9
_Integer9 identityHashCode is :1110594262
_Integer0 identityHashCode is :1110594262
_Integer9==_Integer0 is : true
复制代码

 6:如上的代码,如果看完了,也理解了,基本上结论也出来了。(建议先看下hashCode和identityHashCode 的关系)

      6-1:==是比较运算符,当是基本数据类型时,比较的是变量的值,当是其他类型的对象时,用它比较的是两个对象的引用地址值是否相等

      6-2:equals是一个方法,如果对应的类没有重现Object类的equals()方法,则和==是一样的作用

      6-3:identityHashCode更能间接的代表一个对象的引用地址值

      6-4:如果一个类没有重写Object类的hashCode方法那么hashCode和identityHashCode是一致的

      6-5:hashCode相等时使用==比较,不一定是true

      6-6:identityHashCode相等时使用==比较,一定是true

      6-7:hashCode相等时使用equals比较,也不一定是true(通常可认为是true,我们自己可以随便定义的)

      6-8:我们通常关心的是对象值是否相当(一个值或者多个值),所以对象之间的比较一定要使用equals方法,而非==

7:参看博文如下(观点一致,只是解释的思路或者栗子不同)

 

Java ==和equals()的区别【详细版】

Java中equals和==的区别

What is the difference between == vs equals() in Java?

java:String使用equals和==比较的区别

java中equals和==的区别

浅谈Java中的equals和==

面经-2023-联发科MTK-数字芯片设计 阅读详情

相关推荐

【黑马点评优化】2-Canel实现多级缓存(Redis+Caffeine)同步

【黑马点评优化】2-Canel实现多级缓存(Redis+Caffeine)同步

m0_52031708的博客 3857

“==”和equals比较的几个经典例题分析

首先理解一下直接量 例如 int a = 5,其中5就是直接量 能指定直接量的数据类型:基本类型,字符串类型,和null类型(用以表示这个引用类型变量中保存的地址为空,即还未指向任何有效对象)。 当程序第一次使用某个字符串变量时,Java会使用常量池(constant pool)来缓存该字符串直接量,如果程序后面的部分需要用到该字符串直接量时,Java会直接使用常量池中的字符串直接量 常量池指的是...

yin_xi_guang的博客 890

oracle19c 无备份情况下重建ocr 和 votedisk

无备份情况下重建ocr 和 votedisk – 19c 备注:测试环境基本上都有ocr自动备份文件,建议参考有备份情况下恢复ocr和votedisk Deconfigure and reconfigure entire cluster will rebuild OCR and Voting Disk, user resources (database, instance, service, ...

fangang001的专栏 4188

==和equals

== : 它的作用是判断两个对象的地址是不是相等。即,判断两个对象是不是同一个对象。(基本数据类型==比较的是 值,引用数据类型==比较的是内存地址) equals() : 它的作用也是判断两个对象是否相等。但它一般有两种使用情况: 情况1:类没有覆盖equals()方法。则通过equals()比较该类的两个对象时,等价于通过“==”比较这两个对象。 情况2:类覆盖了equals()方法。一般,我们都覆盖equals()方法来两个对象的内容相等;若它们的内容相等, 则返回true(即,认为这两个对象相

Da_Bao_zi的博客 319

Imatest-Star模块(西门子星图)

星图分析指南:基于ISO12233标准的MTF测试方法,通过放射状射线和正弦灰度变化评估相机SFR性能。

weixin_64706696的博客 1575

Java 处理地理信息数据[DEM TIF文件数据获取高程]

EPSG 是一个国际标准,用于唯一标识地理坐标系和投影坐标系。

两点 1282

java.equal例子_java的equals和==的比较示例

先看例子:package com.amos;/*** @ClassName: EqualTest* @Description:Java中的equal和==的比较* @author: amosli*/public class EqualTest {public static void main(String[] args) {int a = 1;float b = 1.0f;System.out.p...

weixin_34766547的博客 327

使用MATLAB进行灰色预测 GM(1,1)

使用MATLAB进行灰色预测 GM(1,1)

Hou_____的博客 1000

equals方法和==的区别--用实例简单说明

首先我们创建一个类 public class People { private String name; private String address; public String getName() { return name; } public void setName(String name) { ...

weixin_30483697的博客 163

深度学习实战103-基于KDD Cup 99数据集的搭建神经网络的检测系统(NIDS),通过对网络流量数据进行分析,提供完整代码

接下来,我们定义一个全连接神经网络模型。return x# 创建数据集和数据加载器# 初始化模型通过以上步骤,我们实现了一个基于PyTorch的简单网络入侵检测系统。这个系统使用KDD Cup 99数据集进行训练和评估。实际应用中,您可以根据需求调整模型结构、超参数以及数据预处理方法。希望对大家有所帮助!如果有任何问题或需要进一步的解释,请随时咨询。

微学AI的博客 1583

【补充篇】三万字了解AUTOSAR软件架构(一)

主要讲解了AUTOSAR软件架构的分层及各个栈的作用

weixin_47571898的博客 1120

Equals和==的简单比较

Equals和==的简单比较 文章目录Equals和==的简单比较1. equals和 == 的区别1.1 == 比较的是内存地址。1.2 equals 比较的是可重载的等价关系2.重载equals时要重载hashCode()方法2.1为什么需要重载hashCode()?2.2 重载hashCode()应注意什么?3.有关字符串的一些比较3.1 创建字符串 = 和 new 的区别3.2 字符串在常...

Abfahrt的博客 209

【RT-DETR涨点改进】全网独家创新、细节涨点改进篇 | ICML 2024 | RT-DETR引入ICB交互式卷积模块和ASB自适应频谱模块,助力目标检测、异常检测有效涨点、含多种创新改进点

RT-DETR目标检测模型通过引入ICB和ASB模块实现性能提升。ICB模块采用多尺度卷积交互,有效捕获局部和长程依赖特征;ASB模块通过自适应频域滤波优化特征表示,降低噪声干扰。两者结合使模型在复杂场景中表现更优,显著提升检测精度和鲁棒性。文章详细介绍了模块原理、代码实现及配置方法,并提供了8种改进版本的YAML配置文件,适用于不同网络结构。这些创新改进为RT-DETR模型提供了高效涨点方案,特别适合复杂背景和高噪声环境下的目标检测任务。

Ai缝合怪、助力小伙伴高效发论文 214

简单比较==运算符和equals()方法的区别

简单比较==运算符和equals()方法的区别 一、==运算符: 二、equals()方法: https://blog.youkuaiyun.com/lcsy000/article/details/82782864 https://blog.youkuaiyun.com/qq_36522306/article/details/80550210

weixin_44771551的博客 938

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

java equals 区别_java中equals和==的区别

值类型是存储在内存中的堆栈(以后简称栈),而引用类型的变量在栈中仅仅是存储引用类型变量的地址,而其本身则存储在堆中。==操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。equals操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否相同。==比较的是2个对象的地址,而equals比较的是2个对象的内容。显然,当equals为t...

weixin_39828457的博客 299

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

equals和==的区别

今天分享的知识点是equals和==: 在原来的理解中我对equals和-一直有误区,因为我只是简单的记忆equals用来判断内容,而判断地址.而这显然是不正确的,所以想分享给跟我一样有理解误差的人. 首先==判断有两种情况: ==的左右两端为基本类型的时候,判断的是值是否相等 ==如果左右两端为对象,那么判断的则是地址是否相等. 同样,equals也有两种情况: 首先我们要明确的是equal...

weixin_43860716的博客 215

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

java中equals和==的区别

值类型是存储在内存中的堆栈(以后简称栈),而引用类型的变量在栈中仅仅是存储引用类型变量的地址,而其本身则存储在堆中。 ==操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。 equals操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否相同。 ==比较的是2个对象的地址,而equals比较的是2个对象的内容。 显然...

945xiexie's Note 110

java equals和 的区别_java中equals和==的区别

java中equals和==的区别值类型是存储在内存中的堆栈(以后简称栈),而引用类型的变量在栈中仅仅是存储引用类型变量的地址,而其本身则存储在堆中。==操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。equals操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否相同。==比较的是2个对象的地址,而equals比较的是2个对...

weixin_30768925的博客 192

java中"equals"和"=="的区别比较

在java程序设计中,经常需要比较两个变量值是否相等。例如 1、简单数据类型比较 a = 10; b = 10; if(a == b){ //写要执行的代码 } 2、引用数据类型比较 ClassA a = new ClassA("abc"); ClassB b = new ClassB("abc"); if(a == b){ //写要执行的代码 } 显然在例1中 a == b的值为true,

yx444535180的专栏 461

equals()和==的用法及区别

1、简单数据类型比较 a = 10; b = 10; if(a == b){ //写要执行的代码 } 2、引用数据类型比较 ClassA a = new ClassA("abc"); ClassB b = new ClassB("abc"); if(a == b){ //写要执行的代码 } 显然在例1中 a == b的值为true,例2中a == b值为false ———

小宇宙的小怪兽 751

C#中==和equals的区别

写个控制台程序跑了一下             //字符串 特殊的引用类型==就是比较内容是否一致 equals也是查看值是否相等            //string str1 = new string(new char[] { 'h', 'e', 'l', 'l', 'o'

zhangjiesoft的专栏 555
上一篇: final修饰的变量是引用不能改变还是引用的对象不能改变
下一篇: 是否可以从一个static方法内部发出对非static方法的调用?
ole_triangle_java
博客等级 码龄10年 82粉丝 83原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值