ICode9

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

字符串常用方法

2022-07-25 21:33:57  阅读:155  来源: 互联网

标签:常用 String str1 System 123 str 字符串 方法 常量


字符串定义的两种方式

String str = "123";//直接在常量池中开辟一个空间,并将这个对象的地址给str
String str1 = new String("123");//它相当于new了两个对象,一个在堆中,一个在常量池中

两种创建字符串的区别

package Stringdemo;

public class Demo01 {
    public static void main(String[] args) {
        String str = "123";
        String str1 = "123456";//相当于在方法区常量池中开辟了一个空间,存放着123对象
        String str3 = str+"456";
        String str4 = "123"+"456";
        System.out.println(str3 == str1);//false
        System.out.println(str3 == str4);//false
        System.out.println(str1 == str4);//true
        System.out.println(str3.intern() == str4);//true
    }
}
输出:
false
false
true
true

//结论:
在常量池中只能允许有一个对象存在
如果有变量进行字符串的拼接的时候,相当于在堆中new出一个对象
当字符串使用intern()方法的时候,就会返回其在常量池的地址
    
    
 补充:当字符串定义为final之后,就变成了常量,就在常量池中,再进行拼接的时候也是在常量池中进行
    public class Demo3 {
    public static void main(String[] args) {
        String str = "123456";
        final String str1 = "123";
        String str2 = str1 + "456";
        System.out.println(str2 == str);
    }
}


标签:常用,String,str1,System,123,str,字符串,方法,常量
来源: https://www.cnblogs.com/clinch/p/16518933.html

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

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

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

ICode9版权所有