`
liqian5251
  • 浏览: 16116 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

String s=new String("xyz")究竟创建了几个String Object? 2个?哪2个?

阅读更多
是2个不假。
一个是编译时决定的,最后放在常量池中。一个是运行时放在堆里面的。两个都是"xyz",我只能这么说了。还有的,s确实只是一个引用,本身不是对象。java不是纯粹的面向对象,也就是说并不是所有的都是对象,如基本类型等,没清楚的再问我吧

追问

哈 我认同这位大侠的。。。。。。若果编译期间常量池已经有“xyz”对象的话,那么这个就可能创建一个对象吧。。。是不是?

回答

常量池中只可能只有一个“xyz”,但是堆中可能有多个,因为你这里用了new String来强制在堆中再创建了一个对象,所以是两个哈;如果是String s= "xyz"这样的,s这个引用就会直接指向常量池的"xyz",而不会是指向你在堆中创建的“xyz”。

追问

呵呵 说的好!!!上面3位都有都有研究。。呵呵我看了好多都是说s是对象的,无语。。。。今天就把这个疑问给结了

回答

最后再说加一句吧,对于String 这种不可变对象,有几个对象真正的不会对程序有影响,你们都太认真了,太纠结了。要了解java中的对象等东西,建议看一下java虚拟机的教材,这个不是说你工作多久就清楚的,我敢说现在没多少人清楚自己在用些什么!

分享到:
评论

相关推荐

    Java问题宝典2012版

    创建了几个String Object? 二者之间有什么区别? 25 34、String 和StringBuffer的区别 25 35、如何把一段逗号分割的字符串转换成一个数组? 26 36、数组有没有length()这个方法? String有没有length()这个方法? 26 ...

    java面试题目.docx

    创建了几个stringobject?是否可以继承String类? 答:String创建对象有两种情况: 第一种:如果String常量池中已经创建了“xyz”,则不会继续创建,此时只创建了一个对象new String(“xyz”) 第二种:如果String...

    java面试题

    第一,谈谈final, finally, finalize的区别。 第二,Anonymous Inner Class (匿名内部类) 是否可以extends...创建了几个String Object? 第十,Math.round(11.5)等於多少? Math.round(-11.5)等於多少?

    Java面试宝典2011版

    一. Java基础部分 1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 2、Java有没有goto?...创建了几个String Object? 二者之间有什么区别? 23 34、String 和StringBuffer的区别 23

    java面试笔试题大汇总

    创建了几个String Object?   第十,Math.round(11.5)等於多少? Math.round(-11.5)等於多少?   第十一,short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?  面试题都是很变态的,要做好...

    java 面试常问的问题 如何回答

    创建了几个String Object? 二者之间有什么区别? 23 34、String 和StringBuffer的区别 23 35、如何把一段逗号分割的字符串转换成一个数组? 24 36、数组有没有length()这个方法? String有没有length()这个方法? 24 ...

    java_ms.rar_Math Class_java collection

     第九,String s = new String("xyz") 创建了几个String Object?   第十,Math.round(11.5)等於多少? Math.round(-11.5)等於多少?   第十一,short s1 = 1 s1 = s1 + 1 有什么错? short s1 = 1 s1 += 1 有什么...

    java各大软件公司的面试题的集和

    创建了几个String Object? 第十,Math.round(11.5)等於多少? Math.round(-11.5)等於多少? 第十一,short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? 面试题都是很变态的,要做好...

    Java面试宝典2017.zip

    一. Java基础部分 7 1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 7 2、Java有没有goto?...创建了几个String Object? 二者之间有什么区别? 23 34、String 和StringBuffer的区别

    java面试题及答案.doc

    创建了几个String Object? 17. 设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。 18. Java有没有goto? 19. 启动一个线程是用run()还是start()? 20. 应用服务器有那些,列出你所知道...

    千方百计笔试题大全

    创建了几个String Object? 12 40、接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)? 12 41、Java 的接口和C++的虚类的相同和不同处。 12 42、一个“.java”源文件中...

    java面试宝典2012版.pdf

    创建了几个String Object? 二者之间有什么区别? 34、String 和StringBuffer的区别 35、如何把一段逗号分割的字符串转换成一个数组? 36、数组有没有length()这个方法? String有没有length()这个方法? 37、下面这...

    变态级JAVA程序员面试32问

    创建了几个String Object?  第十,Math.round(11.5)等於多少? Math.round(-11.5)等於多少?  第十一,short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?  第十二,sleep() ...

    c#拼图游戏

    g.DrawImage(bm, new Rectangle(0, 0, Picsize, Picsize), (Rectangle)arrrect[inta[i]], GraphicsUnit.Pixel); pb[i].Image = bmp; pb[i].Click += new EventHandler(Picture_Click); if (a[i] == gzs * gzs - ...

    java面试宝典

    创建了几个String Object? 12 40、接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)? 12 41、Java 的接口和C++的虚类的相同和不同处。 12 42、一个“.java”源文件中...

    基于c#CP3平面网严密平差数据处理

    public string[] CP3Name = new string[12];//CPIII自由测站学习点数一般不会超过12个,此处也可用动态数组存储 public double[,] LVS = new double[12, 3]; }; ArrayList StaList = new ArrayList(); public ...

    iPhone开发、ObjectiveC_面试题目

    2、在一个对象的方法里面: self.name = “object”;和 name =”object” 有什么不同吗? 3、这段代码有什么问题吗: @implementation Person - (void)setAge:(int)newAge { self.age = newAge; } @end 4...

    java经典面试题汇总

    创建了几个String Object 答:两个,一个字符对象,一个字符对象引用对象 8、Math.round(11.5)等於多少? Math.round(-11.5)等於多少 答: Math.round(11.5)==12;Math.round(-11.5)==-11;round方法返回与参数最接近的...

    JAVA笔试题集锦(1-30)基础部分

    创建了几个String Object 答:两个,一个字符对象,一个字符对象引用对象 8、Math.round(11.5)等於多少? Math.round(-11.5)等於多少 答: Math.round(11.5)==12;Math.round(-11.5)==-11;round方法返回与参数最接近的...

    JAVA面试题 对JAVA面试有帮助!

    创建了几个String Object?  第十,(11.5)等於多少? (-11.5)等於多少?  第十一,short s1 = 1; s1 = s1 1;有什么错? short s1 = 1; s1 = 1;有什么错?  面试题都是很变态的,要做好受虐的准备。  第十二,...

Global site tag (gtag.js) - Google Analytics