• Java中“==”和“equals()”的区别


    “==”比较的是变量所指向的对象,当S1在内存中定义以后,再定义s2的时候s2所指向的值是定义s1时候所创建的,而不是又在内存创建了一个“Monday”。

    “equals”比较的是对象所指向的值,所以不管在内存中新建了多少个对象,当用equals比较的时候结果总是Ture.

        @Test
        public void Test1() {
            String s1 = "Monday";
            String s2 = "Monday";
            System.out.println("s1==s2->>"+(s1==s2));//true
            System.out.println("s1.equals(s2)->>"+s1.equals(s2));//true
        }
        
        //执行结果如下
        //s1==s2->>true
        //s1.equals(s2)->>true
        
        @Test
        public void Test2() {
            String s1 = "Monday";
            String s2 = new String("Monday");
            System.out.println("s1==s2->>"+(s1==s2));//false
            System.out.println("s1.equals(s2)->>"+s1.equals(s2));//true
            
            //执行结果如下
            //s1==s2->>false
            //s1.equals(s2)->>true
    }
  • 相关阅读:
    选择器的用处
    全栈工程师基础知识与笔记
    9.13日笔记
    9.12笔记
    9.11Css
    学习笔记
    9.10HTLM
    redis和memcached的区别(总结)
    OO第四次博客作业
    OO第三次博客作业
  • 原文地址:https://www.cnblogs.com/liujie-/p/4721719.html
Copyright © 2020-2023  润新知