首页 > 其他分享 >字符串的创建辨析

字符串的创建辨析

时间:2024-07-21 16:30:39浏览次数:14  
标签:String 创建 辨析 池中 字符串 new 常量

字符串的创建辨析

String s="1"
*使用引号创建字符串会在常量池中寻找 有则直接返回 没有则创建

String s=new String("1");
*使用new创建 如果常量池没有"1" 则在常量池中创建"1" 再在堆中创建String并返回地址给引用
*使用s.intern()如果常量池中没有与字符串相同的字符串(判断逻辑 调用equals)则加入对象的引用(1.7及之后 常量池移入堆)
注:上述代码 调用s.inertn()之前 常量池中已存在"1"的对象 故相当于没有调用

String s=new String("1")+new String("1")
s.intern()
注:该例子中 使用StringBuilder创建字符串 常量池中不存在"11"的对象 故将s.引用加入常量池

参考博客链接 深入解析String#intern

标签:String,创建,辨析,池中,字符串,new,常量
From: https://www.cnblogs.com/zsha/p/18314617

相关文章

  • Leetcoede编程基础0到1——459.重复的子字符串 & 283.移动零 &1822.数组元素积的符号
    459.重复的子字符串给定一个非空的字符串 s ,检查是否可以通过由它的一个子串重复多次构成。示例1:输入:s="abab"输出:true解释:可由子串"ab"重复两次构成。示例2:输入:s="aba"输出:false示例3:输入:s="abcabcabcabc"输出:true解释:可由子......
  • 【Python将字符串连接在一起】
    当然,Python是一个功能丰富且灵活的语言,有许多技巧和最佳实践可以帮助你更有效地编写代码。以下是一些常见的Python技巧:列表推导式(ListComprehensions):这是一种简洁的构建列表的方法。它比使用循环更加清晰和Pythonic。[x*2forxinrange(5)]#输出:[0,2,4,6,......
  • 查找字符串中第 n 次出现的子字符串
    这看起来应该是相当微不足道的,但我是Python新手,想要以最Pythonic的方式来做。我想找到与字符串中第n次出现的子字符串相对应的索引。|||必须有一些与我想做的事情相当的东西,即如何在Python中实现这一点?mystring.find("substring",2nd)Howcanyoua......
  • NumPy 广播数组是否会在二进制运算期间创建?
    我有两个numpy.ndarray具有不同形状的实例。如果我添加这两个数组,它们之间将发生广播:importnumpyasnpx=np.array([1,2,3])y=np.array([[2,3,5],[7,11,13]])print(x+y)#[[358]#[81316]]广播数组会被创建吗?也就......
  • 使用idea创建Javaweb项目(步骤)
    第一步创建Javaweb项目File>New>Project第二步  勾选WebApplication >Next然后就是进行起名,完成。完成创建项目,检查是否文件齐全配置tomcat配置好,就能启动tomcat,显示首页导入jar包。导入进项目,然后编写类......
  • 【C语言】:如何创建一个简单的C语言项目
    1.C语言是什么? 人与人之间的沟通交流用的是各国语言,例如:汉语,英语,西班牙语等等。类似的,人与机器之间的沟通用的是计算机语言,而C语言便是众多计算机语言中的一种。人们通过计算机语言编写程序,给计算机下达命令,让计算机工作。像我们熟知的C++/Java/phthon/Go等都是计算机......
  • 极客时间:在AutoGen Builder中创建具有定制技能的代理
    尝试使用AutogenBuilder中的本地LLM/SLM后,下一步是探索如何在AutoGenBuilder中创建自定义技能并将其分配给代理。选择了一个从给定URL获取HTML页面的技能。以下是具体步骤:第一步:设置环境请访问“https://medium.com/the-constellar-digital-technology-blog/geek-out-tim......
  • Databricks Pyspark 解析连接字符串
    有没有一种简单的方法来解析这种格式的连接字符串?HOST=HostName;Port=1234;ServiceName=Database;USerID=User1;Password=Password123;我需要解析主机和端口、数据库、用户和密码,并将它们分配给单独的变量。importredef解析连接字符串(conn_str):"""解析连接字......
  • 为什么 tree.write 不创建我的 XML 文件?
    在KubuntuLinux上使用PyCharm我通过添加条目来修改XML文件并将更改写入新文件,但该文件没有创建,也没有显示错误:importxml.etree.ElementTreeasETif__name__==('__main__:'):tree=ET.parse('/home/qual/PycharmProjects/Automation_learn/ip_phone_cfg.xm......
  • 如何在Python中使用装饰器动态创建类方法?
    我正在开发一个Python项目,我需要在运行时动态地为类创建方法。我想使用装饰器根据一些外部配置将这些方法添加到类中。要求是:装饰器应该从外部配置(例如字典)读取方法定义。装饰器应该动态地将这些方法添加到类中。每个生成的方法都应具有配置中指定的自己唯一的实现。以......