zoukankan      html  css  js  c++  java
  • JAVA中String类的比较

    首先给大家看一段代码

    package javaapptest;
    
    public class JavaAppTest {
        
        public static void main(String[] args) {
          
            String str1 = "Hello";
            String str2 = new String("Hello");
            String str3 = str2 ;
            System.out.println(str1==str2);
            System.out.println(str1==str3);
            System.out.println(str2==str3);
            
        }
        
    }
    

      运行结果为: false

             false

              true

     下面给大家说一下为什么前两个比较会为false,我们这里用 “==”符号不会比较字符串的内容 而是比较字符串地址里面的值,下面上一张图给大家看就明白了;

    如果把赋值代码改成下面代码

          
            String str1 = "Hello";
            String str2 = "Hello";
            String str3 = "Hello"
    
    它会把str1,str2,str3都去指向一个Hello,不会再开辟新的空间

     

    如果要比较字符串里面的内容我们可以使用equals来比较字符串的内容,如下代码

    package javaapptest;
    
    public class JavaAppTest {
        
        public static void main(String[] args) {
          
            String str1 = "Hello";
            String str2 = new String("Hello");
            String str3 = str2 ;
            System.out.println(str1.equals(str2));
            System.out.println(str1.equals(str3));
            System.out.println(str2==str3);
    
        }
        
    }
    

      就写到这里了,希望能帮到你。

  • 相关阅读:
    angular2
    angular1
    JavaScript随笔1
    鼠标样式
    清除浮动
    css-父标签中的子标签默认位置
    [Leetcode] Decode Ways
    [Java] 利用LinkedHashMap来实现LRU Cache
    LinkedHashMap和HashMap的比较使用(转)
    [Java] java.util.Arrays 中使用的 sort 采用的算法 (转)
  • 原文地址:https://www.cnblogs.com/c-c-c-c/p/8134803.html
Copyright © 2011-2022 走看看