java String创建方式及区别

一.String两种赋值方式:

A.String str="asdf";(基本数据类型)

B.String str=new String("asdf");(对象类型)

二.存储方式:

A.String str="asdf";

在栈中开辟str的空间,在常量池中查询是否有"asdf",若有则将其地址存储到栈中str的空间,若无则在常量池中新建常量

B.String str=new String("asdf");

直接开辟空间并将地址赋给str

三.代码示例:


public class Fire {

    public static void main(String[] args) {
        String str1="asdf";
        String str2="asdf";
        System.out.println("str1地址为"+str1.hashCode());
        System.out.println("str2地址为"+str2.hashCode());
        System.out.println();
        
        String str3=new String("qwer");
        String str4=new String("qwer");
        System.out.println("str3地址为"+str3.hashCode());
        System.out.println("str4地址为"+str4.hashCode());
    }

}
 

运行结果:

str1地址为3003444
str2地址为3003444

str3地址为3483987
str4地址为3483987

 

 

 

 

 

 

 

当String s="abc" 时 String是基本数据类型

当String s=new  String("abc")时是对象类型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值