Java基础知识(字符串与数组)

5. 字符串与数组

5.1 字符串创建与存储的机制是什么

字符串声明与初始化主要有如下两种情况:
1.对于Strng s1=new String(“abc”)与String s2=new String(“abc”),存在两个引用对象s1,s2,两个内容相同的字符串对象“abc”,在内存中的地址不同,只要用new总会生成新的对象。
2.对于String s1=“abc”和String s2=“abc”,在JVM中存在一个字符串池,保存多个String对象,并可以被共享使用,s1和s2引用得是同一个常量池中的对象。
可以将String s1=new String(“abc”)分为两个过程,一个是新建对象的过程,即new String(“abc”);第二个是赋值的过程,String s1=。在第二个过程中只定义一个名为s1的String类型的变量,将一个String类型对象引用赋给s1。第一个过程会调用String类的构造函数:
在这里插入图片描述
在调用这个构造函数时,传入一个字符串常量,new String(“abc”)与abc和new String相等。如果字符串池不存在“abc”,则会创建一个字符串常量“abc”,并将其添加到字符串池中;若存在,则不创建,然后new String(

  • 5
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值