二.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
1.String s = new String("abc")这句代码创建了两个对象,分别创建在堆内存和字符串常量池;
2.String s = "abc"这句代码创建了一个对象,双引号包括起来的直接在字符串常量池中创建.
2.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
1.>String s = new String("abc")一共创建了两个对象,一个new出来的在堆内存中开辟了一个空间,””号引起来的在堆内存的常量池中。
2.>首先我们要判断堆内存中的常量池里是否有字符串”abc”,如果有那么这句代码就没有创建对象,如果没有就说明这句代码创建了一个对象。
2.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
创建了两个对象,在堆内存中new创建了一个空间,在堆内存中的常量池中创建了“abc”。
创建了一个对象,在堆内存的常量池中创建了“abc”。
2.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
String s = new String("abc");创建了两个对象,"abc"对象存在堆内存中的常量池,
new String("abc");对象存在堆内存中,String s = "abc";创建了一个对象存放在堆内存中的常量池中
2.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
答:String s = new String("abc")创建了两个对象,这两个对象都在堆内存中,"abc"这个字符串被存在堆内存里面的常量池中。new String则在堆内存中创建一块内存区域。
String s = "abc" 创建了一个对象,"abc"在常量池中可以找到 所以"abc"这个不算一个新的对象。而String s 则在栈内存中可以找到,String s = "abc"是一个方法 ,执行方法要进栈。
2.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
String s = new String("abc")创建了2个对象
“abc”在堆中的常量池中创建
new String()在堆中创建
2.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
答:String s = new String("abc")在堆内存中创建了2个区域。1个是在堆内存中新建了一个new String,
另一个是在堆内存中的常量池生成一个“abc”;
String s = "abc";创建了1个对象,在栈内存中创建的。