当前位置: 首页 > news >正文

云南建投第五建设有限公司网站百度指数数据官网

云南建投第五建设有限公司网站,百度指数数据官网,网页制作的公司成都,北京营销网站建站公司引言 当你看到本博客的标题时,你是否会感觉到疑惑?疑惑为什么一个简简单单的字符串拼接和比较也要写。你要是这么想就错了,其实,字符串拼接也藏着些许的小秘密。通过以下几个实例后,你就能够清楚的了解字符串拼接和比较…

引言

当你看到本博客的标题时,你是否会感觉到疑惑?疑惑为什么一个简简单单的字符串拼接和比较也要写。你要是这么想就错了,其实,字符串拼接也藏着些许的小秘密。通过以下几个实例后,你就能够清楚的了解字符串拼接和比较的“秘密”了。

实例1

public static void main(String[] args) {String aString = "123";String bString = "123";System.out.println(aString == bString);
}

输出:true

当我们使用双引号创建一个字符串时,JVM 首先在字符串池中寻找具有相同值的字符串。如果找到了,它将返回字符串池中的字符串对象的地址。否则,它会在字符串池中创建字符串对象并返回地址。
对于本例,aString先在字符串常量池中搜寻过,没发现字符串123,于是开辟了空间存放字符串123,然后aString指向该空间地址。同样,bString搜寻了一下,找到了字符串123,然后bString指向该空间地址。所以最后结果为 true
在这里插入图片描述

实例2

public static void main(String[] args) {String astring = new String("123");String bString = "123";System.out.println(astring == bString);
}

输出结果:false

当我们用new关键字创建字符串对象时,会先在我们的堆内存当中开辟一段内存空间,然后该内存空间会用来存储我们在字符串常量池当中的数据地址。
在这里插入图片描述

实例3

    public static void main(String[] args) {String aString = "1";String bString =aString+"23";String cString = "123";System.out.println(bString == cString);String dString ="1"+"23";System.out.println(dString == cString);}

输出:
在这里插入图片描述
为什么 bString 和 cString 都是字符串123,但是结果为 false?

下面我们用记事本写一个java文件,然后命令窗口进行编译和反编译:
在这里插入图片描述

我们可以注意到,当我们使用“+”号进行字符串拼接的时候其实我们调用的是StringBuilder中的两个方法,append和toString方法。使用append进行拼接,拼接字符串后,虚拟机调用StringBuilder的toString()方法输出字符串的“123”,然后该值存放至bString。
那么这个拼接好的“123”到底是以什么形式传递给bString的呢?我们来看toString方法。

  @Overridepublic String toString() {// Create a copy, don't share the arrayreturn new String(value, 0, count);}

ok,我们可以很清楚的看到,是一个new String。所以第一个结果为false

为什么第二个输出的是true?

因为jvm编译阶段过编译器优化后会把字符串常量直接合并成"123",并没有开辟新的空间,所以dString和cString指的是同一个地址

所以,你清楚了字符串的“秘密”了吗?

http://www.lbrq.cn/news/2421217.html

相关文章:

  • 南京网站开发公司哪家好电子商务营销的概念
  • 浏览器下载免费版百度地图排名可以优化吗
  • 百度推广电话号码seo营销专员
  • 定制小程序开发公司百度seo软件首选帝搜软件
  • 阿里巴巴建设网站泉州百度seo
  • 增城网站建设方案360开户
  • 哪里做网站一套一百平台运营推广方案
  • 软件开发网站建设seo网站优化培训怎么样
  • wordpress多级菜单插件关键词自动优化
  • 企业网站模板建站流程厦门网站的关键词自动排名
  • wordpress4.7安装步骤seo是什么车
  • 小米盒子做网站百度做广告推广怎么样
  • 做网站的可行性分析一键优化大师下载
  • 站长做2个网站开平网站设计
  • 做公司网站合同seo百度推广
  • 企业网站建设推销广告
  • 婚姻介绍交友网站怎么建设seo外包推广
  • 网站做推广需要什么条件百度搜索关键词指数
  • 日照教育云网站建设广告投放方式
  • 微商城客服百度seo营销推广多少钱
  • 广州北京网站建设公司太原竞价托管公司推荐
  • 做膜结构那个网站好上海优化公司排行榜
  • 建设局工程网站创建网页
  • 西宁建设厅培训中心网站广告设计
  • 成都网站建设十强企业开网站需要多少钱
  • 网站建设销售招聘桌面百度
  • 滁州做网站的公司郑州网络营销与网站推广
  • 企业做网站的作用百度游戏中心官网
  • 建设银行网站银行登录seo实战密码第四版pdf
  • 做网站要求电脑配置成都推广系统
  • python学习-读取csv大文件
  • Qt基本控件使用:按钮、标签、文本框等
  • MCP vs 传统集成方案:REST API、GraphQL、gRPC的终极对比
  • DBSCAN聚类算法
  • 高性能I/O的终极武器:epoll深度解析与实战
  • 跨端分栏布局:从手机到Pad的优雅切换