zoukankan      html  css  js  c++  java
  • Java 中 字符串比较原理(指针 或 字符)

    Java 中 字符串比较原理(指针 或 字符)

    2020年11月16日 15:57:53

    在java中 我们对比一个字符串 他是有分几种情况  :
    如下:

    import java.util.*;
    public class Main {
        public static void main(String[] args)
        {
            String str = "aabbccdda";
            String str1 = new String("aabbccdda");
            System.out.println((str == str1));    //false
            
            String str3 = "aabbccdda";
            String str4 = "aabbccdda";
            System.out.print((str3 == str4));    //true
            
        }
    }

    可以看出  它new出来的东西  是在堆中的  ,但是 它 常亮(str1)定义出来的东西 JVM会在常量区中寻找,若没有,则创建,  又让 str3 和 str4 去指向"aabbccdda",JVM会在常量区寻找,有的话直接指向

    故str3 和 str4 相等判断后得出 是相同的。

    str 和 str1 内容相同又怎样,但它们内存中存放的区域不一样 那地址也是不一样的,所以说,他们是不相等的。

    总结出来  :   他们的比较是用指针(地址)  来对比的,若你是想去单纯的对比字符串(即内容相同就相等) 那么你可以用 字符串的特性 str.equals() 或 循环字符比较。

    这里注意一下 直接String = “xxx”  和 new  出来的方式是不一样的  需要严格去了解   

    本文来自博客园,作者:咸瑜,转载请注明原文链接:https://www.cnblogs.com/bi-hu/p/13985648.html

  • 相关阅读:
    JavaScript学习心得(六)
    JavaScript学习心得(五)
    JavaScript学习心得(四)
    JavaScript学习心得(三)
    JavaScript学习心得(二)
    JavaScript学习心得(一)
    socket异步接收信息
    DataTable将行转成列
    highcharts的柱状图边线
    w3cSchool jquery学习
  • 原文地址:https://www.cnblogs.com/bi-hu/p/13985648.html
Copyright © 2011-2022 走看看