欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

String s="java"; String s=new String("java");,stringjavanew

来源: javaer 分享于  点击 47960 次 点评:214

String s="java"; String s=new String("java");,stringjavanew


关于java中的字符串对象比较

String s1="java";
String s2=new String("java");
String s3="java";
s1==s3为true 
-----------------------------------------------------
两者死不一样的:
1、String s="java"; 这里产生得到一个字符串常量。系统首先会去“常量池”寻找,看是否有“java”常量存在,如果有那么就将这个常量“java”赋给s,如果没有则系统在常量池里创建“java”,并将其给s。

2、String s = new String("java"); 意思是根据常量“java”创建一个字符串的对象,如此他首先会执行1中的操作,然后根据常量“java”在堆中创建对象,并为其分配内存。


当然在使用没有什么区别,但本质是有区别地
-------------------------------------------------------------------
String a1="java";
String a2="java";
a1==a2;//结果为true,其实a1和a2是同一个数据
String b1=new String("java");
String b2=new String("java");
b1==b2//结果为false,b1和b2是两个对象 

相关文章

    暂无相关文章
相关栏目:

用户点评