一个关于JAVA字符串的问题.
请问Stringa="Hello";这句话里生成了几个对象?在堆内存中生成了几个个"Hello"?在栈内存中又生成了几段内存?(和Stringa=newString("H...
请问String a="Hello"; 这句话里生成了几个对象?在堆内存中生成了几个个"Hello"?在栈内存中又生成了几段内存?(和String a=new String("Hello")有什么不同?)
展开
6个回答
展开全部
String a="Hello"; 一个对象 只在串池中
String a= new String("aaa");
这句话创建了2个对象,第一个是括号中的“aaa”对象n 在串池中,其二是new 必然要创建一个String对象。简单说,执行完毕之后,串池中有一个对象“aaa”,堆中有一个对象“aaa”a引用指向的是堆中得对象.
String a= new String("aaa");
这句话创建了2个对象,第一个是括号中的“aaa”对象n 在串池中,其二是new 必然要创建一个String对象。简单说,执行完毕之后,串池中有一个对象“aaa”,堆中有一个对象“aaa”a引用指向的是堆中得对象.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
String a="Hello"; 一个对象 String a=new String("Hello")两个对象
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果静态池中有Hello,则生成一个String引用对象,若没有会创建一个放在静态池中,就有两个了。
若new的话不管静态池中是否有Hello对象多会在堆内存新建Hello字符串,在一个String就有两个对象了~
若new的话不管静态池中是否有Hello对象多会在堆内存新建Hello字符串,在一个String就有两个对象了~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1个对象,1个hello,1段内存, String a="Hello"和String a=new String("Hello")个人觉得没有什么不同
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询