zoukankan      html  css  js  c++  java
  • Java -- String

    package test;
    
    public class StringEquals {
        public static void main(String[] args) {
          String str1 = "str";                // --直接赋值
              String str2 = "str";            
          String str3 = str2;                     // --引用传递
              String str4 = new String("str");     // --构造方法赋值
              System.out.println(str1 == str2);     //true              
              System.out.println(str1 == str3);     //true               
              System.out.println(str1 == str4);     //false
              System.out.println(str1.equals(str4)); //true 
        }
    }

    手工入池

     

    String str5 = new String("str").intern();   //手工入池
    System.out.println(str1 == str5);      //true

     

    == : 两个对象的堆内存地址的比较

    equals() : 内容的比较

    compareTo() : 比较的是字符串的内容[比较是根据字母顺序,严格来讲是根据字符的ASCII码值进行比较的,返回结果是第一个不同字符ASCII码的差值]

     

    字符串常量是String类的匿名对象

    --判断用户输入的字符串内容是否等于指定的字符串内容

    package test;
    
    public class StrNotNull {
        public static void main(String[] args) {
            String str = null;
            /*if (str.equals("hello")) {            //报错: java.lang.NullPointerException
                System.out.println("no");
            }*/
            if ("hello".equals(str)) {
                System.out.println("no--");            //不会报错
            }
        }
    } 

     String : 字符串内容一旦声明则不可改变  

     字符串的内容不会改变,改变的是string类的对象的引用,并且会产生大量字符串垃圾。应该尽量避免出现不断修改字符串内容的现象,以免出现大量垃圾。

    拼命敲
  • 相关阅读:
    LeetCode278. 第一个错误的版本
    LeetCode275. H 指数 II
    LeetCode274. H 指数
    LeetCode273. 整数转换英文表示
    LeetCode268. 缺失数字
    LeetCode264. 丑数 II
    LeetCode263. 丑数
    关于解决Chrome新版本中cookie跨域携带和samesite的问题处理
    java将list转为树形结构的方法
    Python pycharm selenium hyrobot 学习中遇到的问题汇总2
  • 原文地址:https://www.cnblogs.com/wuyuwuyueping/p/9390414.html
Copyright © 2011-2022 走看看