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

    1、String是常量,其对象一旦创建完毕就无法改变。当使用+拼接字符串时,会生成新的String对象,而不是向原有的String对象追加内容。

    2、StringPool(字符串池)

    String s = “aa”;(字面值的方式赋值)

    1)查找StringPool中是否存在"aa" 这个对象,如果不存在,则在String Pool中创建一个“aa”对象,然后将String Pool中的这个“aa”对象的地址返回来。赋给引用变量s,这样s会执行String Pool中的这个“aa”字符串对象。

    2)查找StringPool中是否存在"aa" 这个对象,如果存在,则不创建任何对象,直接将String Pool中的这个“aa”对象地址返回来,赋给s引用。

    3、String s = new String(“aa”);

    1)首先在String Pool中查找有没有“aa”这个字符串对象。如果有,则不在String Pool中创建“aa”这个对象了,直接在堆中(heap)中创建一个“aa”字符串对象,然后将堆中的这个“aa”对象地址返回来,赋给s引用,导致s指向了堆中创建的这个“aa”字符串对象。

    2)如果没有,则在String Pool中创建“aa”这个对象了,然后在堆中(heap)中创建一个“aa”字符串对象,然后将堆中的这个“aa”对象地址返回来,赋给s引用,导致s指向了堆中创建的这个“aa”字符串对象。

  • 相关阅读:
    阿里的蚂蚁雄兵,已经俨然一个帝国
    Redmine数据库备份及搬家
    Redmine插件及使用
    高效代码审查的十个经验
    Redmine管理项目3-调整用户显示格式
    Redmine管理项目2-邮件通知
    Redmine管理项目1-自定义属性
    Excel VLOOKUP函数的使用方法
    一键安装Redmine
    Jdon框架开发指南
  • 原文地址:https://www.cnblogs.com/linlf03/p/10920581.html
Copyright © 2011-2022 走看看