中易网

String a="hello";和String a=new String的区别

答案:2  悬赏:60  
解决时间 2021-04-06 16:26
String a="hello";和String a=new String的区别
最佳答案
/
/ ==与equals的区别:
// ==:
// 1、比较的是操作符两端的操作数是否是同一个对象
// 2、两边的操作数必须是同一类型的(可以是父子类之间)才能编译通过。
// 3、比较的是地址,如果是具体的阿拉伯数字的比较,值相等则为TRUE,如:
// int a=10 与 long b=10L 与 double c=10.0都是相同的(为true),因为他们都指向地址为10的堆
// equals:
// 1、比较的是两个对象的内容是否一样

String s="abce"是一种非常特殊的形式,和new 有本质的区别.
*
* 它是java中唯一不需要new 就可以产生对象的途径.
*
* 以 String s="abce";形式赋值在java中叫直接量,它是在常量池中而不是象new 一样放在压缩堆中.
*

这种形式的字符串,在JVM内部发生字符串拘留,即当声明这样的一个字符串后,JVM会在常量池中先查找有有没有一个值为"abcd"的对象,如果有,就
会把它赋给当前引用.即原来那个引用和现在这个引用指点向了同一对象,如果没有,则在常量池中新创建一个"abcd",下一次如果有String
* s1 = "abcd";又会将s1指向"abcd"这个对象,即以这形式声明的字符串,只要值相等,任何多个引用都指向同一对象.

public class Test1 {
public static void main(String[] args) {
String a = new String("ab"); // a 为一个引用
String b = new String("ab"); // b为另一个引用,对象的内容一样
String aa = "ab"; // 放在常量池中
String bb = "ab"; // 从常量池中查找
if (aa == bb) // true
System.out.println("aa==bb");
if (a == b) // false
System.out.println("a==b");
if (a.equals(b)) // true
System.out.println("aEQb");
if (42 == 42.0) { // true
System.out.println("true");
}

}

}

也可以这么理解:
String str = "hello"; 先在内存中找是不是有"hello" 这个对象,

如果有,就让str指向那个"hello".如果内存里没有"hello",就创建一个新的对象保存"hello".

String str=new String ("hello") 就是不管内存里是不是已经有"hello"这个对象,

都新建一个对象保存"hello"
String a = new String("ab");是在堆里面建立的对象 String,a和"ab"
aa="ab";是查找栈里有没有"ab",如果有就用aa引用它,如果没有就把“ab”存进栈

String r ="dsds"; ---------------------生成一个对象 "dsds"
String r =new String ("dsd"); ---------------生成两个对象,"dsd"和new String ("dsd")

因为new String("dsd")的参数"dsd"本身就是一个字符串对象,new String("dsd")又返回一个字符串对象。
全部回答
string s = new string(“hello”)和string s = “hello”; 前者会创建2个对象,后者创建1个对象。 public class stringdemo2 { public static void main(string[] args) { string s1 = new string("hello"); string s2 = "hello"; system.out.println(s1 == s2);// false system.out.println(s1.equals(s2));// true } }
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
长建驾校学车为什么这么难
丙烷的二氯代物同分异构体有()种?
重庆泰妈火锅地址有知道的么?有点事想过去
工作地点有写某某镇某某多少号,工厂要搬到同
《兰亭集序》在书法上也称什么,体裁属于什么
安装空调室外机危险吗?
在网上买淘宝号被骗了怎么办啊?
哪有新开的菜市场招商
伊人美(郦景阳光店)这个地址在什么地方,我要
插2条内存好吗?
46公里,骑自行车要多长时间啊?
南开大学点睛教育
宁波海曙佳大服装辅料有限公司这个地址在什么
法国的管理学好不好 教什么的
农牧场驱赶动物获得水晶有什么用
推荐资讯
关于女生的歌曲有那些
为什么我的iPhone7现在更新不了软件了 之前还
安徽的住房公积金可以在异地按揭住房吗?
文章的构篇篇方式?
车祸脚踝骨骨折两处肌肉损伤严重能评9级伤残
大连星海广场一年之中什么时候有烟火表演
WIN7旗舰版无法启动屏幕键盘!!!!!
金龟子是不是俗称的"屎壳郎"?
东海龙王老婆叫什么名字
阳光烟茶酒我想知道这个在什么地方
毛集镇财政分局在哪里啊,我有事要去这个地方
老人36.5度算低烧吗?
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?