ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

字符串的常量池与字符串的比较相关方法

2022-06-30 16:00:30  阅读:104  来源: 互联网

标签:常量 equals System println 字符串 out 方法 String


 

 

package demox.demopro;
/*
字符串常量池:程序当中直接写上的双引号字符串,就在字符串常量;
对于基本类型来说,==是进行数值的比较。
对于引用类型来说,=-是进行【地址值】的比较。
*/
public class Demo2StringPool {
    public static void main(String[] args) {
        String  st1 ="abc";
        String  st2 ="abc";

        char[] charArray ={'a','b','c'};
        String st3 = new String(charArray);

        System.out.println(st1 == st2);
        System.out.println(st1 == st3);
        System.out.println(st2 == st3);
    }
}

 

 

 注意对于引用类型来说,==进行的是地址值的比较

双引号直接写的字符串在常量池当中new的不在池当中

package demox.demopro;
/*
==是进行对象的地址值比较,如果确实需要字符串的内容比较,可以使用两个方法:
public boolean equals(Object obj)、参数可以是任何对象,只有参数是一个字符串并且内容相同的才会给true否则返回fals
备注:任何对象都能用object进行接收。
注意事项;
1.任何对象都能用object进行接收。
2. equals方法具有对称性,也就是a.equals(b)和b.equals(a)效果一样。3如果比较双方一个常量一个变量,推荐把常量字符串写在前面。
推荐:"abc".equals(str)不推荐:str.equals( "abc"
 */
public class Demo02_Random {
    public static void main(String[] args) {
        String str1 ="Hello";
        String str2 = "Hello";
        char[] charArray ={'H','e','l','l','o'};
        String str3 = new String(charArray);

        System.out.println(str1.equals(str2));
        System.out.println(str2.equals(str3));
        System.out.println(str3.equals("Hello "));
        System.out.println("Hello".equals(str1));

        String str4="Hello";
        System.out.println(str1.equals(str4));
        System.out.println("********************");

        String str5 =null;
        System.out.println("abc".equals(str5));
        System.out.println(str5.equals("abc"));


        String strA ="JAvA";
        String strB = "JAVA";
        System.out.println(strA.equals(strB));
        System.out.println(strA.equalsIgnoreCase("abcyi123"));
    }
}

 

标签:常量,equals,System,println,字符串,out,方法,String
来源: https://www.cnblogs.com/x3449/p/16427251.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有