我们可以把上面这行代码分成String str、=、"123"和new String()四部分来看待。String str只是定义了一个名为str的String类型的变量,因此它并没有创建对象;=是对变量str进行初始化,将某个对象的引用(或者叫句柄)赋值给它,显然也没有创建对象;现在只剩下new String("123")了。那么,new String("123")为什么又...
String str = new String("123")一共创建了几个对象 答: 1.假如字符串常量池中没有"123"这个字符串,那么这条代码就创建了两个对象,第一个是在字符串常量池中创建了字符串对象"123",然后在堆区创建了一个字符串对象"123",接着会把堆区这个"123"的引用地址值赋给在栈区声明的str。 2.假如字符串常量池...
4 个,在java中碰到双引号就会创建对象(双引号里内容不同的话),所以abc 、def分别都会创建对象,同时java的字符串是只读的,所以abc+def后又会生成一个新的对象(原来的对象还在内存里),在使用new操作符时又会自动创建新对象,所以共计4个。
当然是2个.等价于:String s = "abc";String str = new String();str = s;所以str和s是两个对象。只不过他隐藏了而已
在Java语言中 String str=new String("a") 这个语句创建了几个对象。 答案是:2个对象解释:该语句在进行String类的构造函数调用时引用的参数"a"时,查询内存中有无该对象,若无则创建一个"a"对象,再将该对象的地址引用传递给对象Str,存于栈中,所以说... 答案是:2个对象解释:该语句在进行String类的构造函数...
回归问题: 如果只是单纯的 String str = new String("xyz") ,那么jvm首先会去字符串常量池中查找这个对象,不存在,创建"xyz"这个对象(第一次创建),之后new 关键字会在内从中重新开辟一个新的空间,创建一个新的对象(第二次创建)。
Stirng str3 = new String("abc");//如果不看前面的,光看这一行本身也是创建了2个对象,但abc在字符串池里已经有了,所以结合前面的就创建了1个对象new Sring(); 所以总共创建了3个对象 解释下字符串池:他是一个由字符组成的一个数组就相当于char str1 =new char[]{a,b,c}; ...
对于回答会创建2个对象的,想必是: String str = new String("abc");JVM首先在常量池中查找是否存在“abc”如果存在就啥也不做,如果不存在,就创建一个对象,并将它放入常量池,那么这就算了一个;当JVM遇到new时,又会在堆上创建一个String对象,并将其引用返回给str,这又是一个,加起来就是2个了。
百度试题 结果1 题目(10-8)语句“ String str = new String("good"); ”创建了几个String 对象?相关知识点: 试题来源: 解析 该语句创建了两个String对象,一个是常量String对象”good”,另一个是对象引用str。 解析见答案反馈 收藏
答案: 两个,调用new String(String param)创建了一个参数,同时创建了一个 abc 对象当做param传入了构造器中.2> Math.round(-11.5)会输出了多少答案: 这个答案他解释错了, 他的解释是取大. 取大应该是Math.ceil, 取小是Math.floor.round是四舍五入的, 但是对于负数-11.5也是-11,但是-11.6(或7、8、9)为...