zoukankan      html  css  js  c++  java
  • Java

    equals是比较值/对象是否相同,==则比较的是引用地址是否相同。

    ==  如果是基本类型则表示值相等,如果是引用类型则表示地址相等即是同一个对象

    package com.char3;
    public class StringTest {
        
        /**
         * StringBuffer 是可变的字符序列的类似字符串的对象,对其进行改变时返回对同一实例的引用
         * 代码运行结果:
         * is equal true
         * is == true
         * 说明:sb和sb1是同一个引用地址
         */
        public static void useStringBuffer(){
            StringBuffer sb = new StringBuffer("sb你好");
            StringBuffer sb1= sb.append(",陈瑞");
            System.out.println("is equal "+sb.equals(sb1));
            System.out.println("is == " + (sb==sb1));
        }
        /**
         * String 创建对象s,吧s的引用传给str
         * 代码运行结果:
         * is equal true
         * is == true
         * 说明:s 和str 的值相同,引用地址也相同
         */
        public static void useString(){
            String s = "你好";
            String str = s ;
            System.out.println("is equal "+s.equals(str));
            System.out.println("is == "+(s == str));
        }
        /**
         * String 创建str1的时候把“nihao”放在常量池中,当创建str2的时候先去常量池中查看是否有相同的常量值,如果存在则吧常量的引用给str2
         * 代码运行结果:
         * is equal true
         * is == true
         * 说明:str1和str2的值相同,引用地址也相同
         */
        public static void useString1(){
            String str1="nihao";
            String str2 = "nihao";
            System.out.println("is equal "+str1.equals(str2));
            System.out.println("is == "+(str1==str2));
        }
        /**
         * String创建的字符串 是不可变的,str表面看是对s的修改,其实质没修改原字符串,而是新建了字符串对象str
         * 一下的代码运行结果:
         * is equal false
         * is == false
         * 说明:s 和 str 值不等,引用地址也不用
         */
        public static void useString2(){
            String s = "你好";
            String str = s+"chenrui" ;
            System.out.println("is equal "+s.equals(str));
            System.out.println("is == "+(s == str));
        }
        public static void main(String[] args) {
            useStringBuffer();
            useString();
            useString1();
            useString2();
        }
    }
    --------------------- 作者:chenrui_ 来源:CSDN 原文:https://blog.csdn.net/jijijiujiu123/article/details/18631647
  • 相关阅读:
    [剑指offer] 7. 斐波那契数列
    [剑指offer] 6. 旋转数组的最小数字
    [剑指offer] 5. 用两个栈实现队列
    [剑指offer] 4. 重建二叉树
    [剑指offer] 3. 从头到尾打印链表
    vue.js从输入中的contenteditable元素获取innerhtml
    CSS3 ------- object-fit属性
    mouseenter和mouseover区别
    元素scroll系列属性
    淘宝flexible.js源码分析
  • 原文地址:https://www.cnblogs.com/kl-1998/p/10794822.html
Copyright © 2011-2022 走看看