首页 > 其他分享 >String类的特点

String类的特点

时间:2024-11-30 14:54:47浏览次数:11  
标签:abc String 对象 特点 字符串 true 常量

1.String类的特点

1.java程序中,只要是双引号字符串,就都是String类的对象 如图

只有String这一个类有这种特殊的创建对象方法

我们知道,只有对象才可以通过 点什么来调用方法,而图中s.toString等方法都可以调用,所以s就是String的对象

.

2.字符串在创建之后,内容不可更改 如图

这该如何解释?我们不妨先看看下图

上图中,stu原本是18,张三的,但是却被新创建的对象20,李四给覆盖掉了,导致最终打印出来的是新的对象

所以,上图中的s并不是被改变了内容,而是因为"def"也是双引号字符串,也是一个新的对象,s被新的对象覆盖了,所以打印的是def,但原来的"abc"是没有被改变的

3.String字符串虽然不能改变,但可以共享

如图 打印出来的是false还是true呢?

答案是true,在回答为什么是true之前,我们需要知道一个新的知识——字符串常量池

4.字符串常量池

我们使用内存图对刚才的s1,s2比较进行解释

当执行到s1时,创建出双引号对象"abc",这时,程序会去字符串常量池检查是否有"abc"这个对象,发现没有abc,所以在字符串常量池里创建"abc",然后产生地址,记录给s1

接着执行s2,还是创建双引号对象"abc",程序依旧去字符串常量池检查是否有"abc"这个对象,这时发现存在,那就直接把地址赋给s2

s1和s2的地址都一致,引用数据类型使用==进行比较,比较的是地址值,所以打印的true

.

字符串常量池所在的内存位置

所以,以后字符串常量池基本都出现在堆内存中

标签:abc,String,对象,特点,字符串,true,常量
From: https://www.cnblogs.com/zhishi6/p/18578375

相关文章

  • epoll得特点
    epoll的主要优点包括:高效的文件描述符管理:epoll使用一组红黑树和双向链表来管理文件描述符,这使得添加、删除和查找操作更加高效。水平触发和边缘触发:epoll支持水平触发(LevelTriggered,LT)和边缘触发(EdgeTriggered,ET)两种模式,其中LT模式下,只要文件描述符......
  • 超高频RFID读写器的功能与特点分析
    一、概念解析与技术运作机制超高频电子标签一体机,其核心运作机制依托于先进的超高频RFID技术,该技术以其非接触式自动识别的特性,通过射频信号精准捕捉并解析目标对象的相关数据。超高频RFID技术凭借其卓越的远距离读取能力、超快的识别速度以及强大的抗干扰性能,在物流、仓储管......
  • CComboBox的SelectString函数有弊端-m_combo_xxx_.SelectString(0, strTxt); 重复
    CComboBox的SelectString函数有弊端CComboBox中字符串通过AddString添加后,比如天气1、天气2、天气222,天气234 CComboBox调用SelectString(0,_T("天气2"))函数有弊端。可能会选择的是 天气222应该用for循环判断m_comBoText.GetWindowText(strText);if(strText==你要选择......
  • 你有使用过HTML5的dialog标签吗?说说看,它有什么特点?
    <dialog>标签用于创建模态或非模态对话框,它有以下特点:语义化:<dialog>标签本身就代表对话框,比使用<div>等通用标签语义更清晰,更利于可访问性和SEO。内置API:<dialog>元素提供了一些JavaScriptAPI,例如showModal()和close(),可以方便地控制对话框的显示和关闭,以及管理对话......
  • 陶粒和回填宝是常用于建筑工程中的两种材料,它们有不同的特性和适用场景。以下是陶粒和
    陶粒是一种人工轻质骨料,通常由粘土、陶土、矿石等原料经高温烧结后制成。它的主要特点是具有较高的孔隙率和较低的密度,因此具有良好的保温、隔音、抗压、透水等特性。陶粒广泛应用于建筑、园林绿化、环境保护等多个领域。陶粒的特点:轻质:陶粒的密度通常在0.8-1.2g/cm³之间,比普......
  • Java学习笔记--继承的介绍,基本使用,成员变量和成员方法访问特点
    目录一,继承1.什么是继承2.怎么去继承:3.注意:4.继承怎么学   二,继承基本使用三,成员变量和成员方法访问特点1.成员变量访问特点1,子类和父类中的成员变量不重名:总结:2,子类和父类中的成员变量重名总结:三,成员方法访问特点1,子类和父类中的成员变量不重名:2,......
  • 自动化工具有很多,按照不同的应用场景和功能特点可以分为多个类别。以下是一些常见的自
    自动化工具有很多,按照不同的应用场景和功能特点可以分为多个类别。以下是一些常见的自动化工具,根据它们的使用场景和功能进行分类:1. 桌面自动化工具这些工具主要用于自动化桌面应用程序的操作,例如模拟鼠标点击、键盘输入、窗口管理等。Sikuli:基于图像识别的自动化工具,适用于......
  • java小工具封装-给定es客户端和SearchSourceBuilder和es索引名直接用scroll方式查询出
    封装类:传参1esClient传参2自定义searchSourceBuilder传参3索引名(可直接复制粘贴使用)publicstaticList<Map<String,Object>>getEsResultData(RestHighLevelClientesClient,SearchSourceBuildersearchSourceBuilder,Stringindex_name)throwsIOException{......
  • 什么是JSON,有什么特点
    什么是JSON?JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScript的子集,但独立于语言,被广泛用于服务器与Web应用之间的数据传输。JSON格式最初由DouglasCrockford在2001年提出,并迅速成为互联网上......
  • 使用Lombok导致打印的tostring中缺少父类的属性
    背景实体类UserDtoextendsBaseEntity,两个类的上方都有标注,Lombok的@Data注解,但是使用时UserDto的实例对象调用toString方法时发现,只打印出来自身子类的属性信息,并没有打印出来父类的信息。@DatapublicclassUserDtoextendsBaseEntity{/***姓名*/@Tab......