百度试题 结果1 题目String s=new String("a");共创建了几个String对象?相关知识点: 试题来源: 解析 答:两个。其中包括一个字符对象和一个字符对象引用对象。反馈 收藏
如果之前已经在别的地方已经创建了a对象,那么第二次new String("a")的时候并没有重新创建a对象。new...
答:1个或者2个 分析:String a=new String(“abc”) 首先在堆中创建一个空白对象,并且初始化a,然后去常量池中查找是否存在“abc”,存在则直接使用常量池中“abc”的拷贝放入对应的堆中。不存在则先创建“abc”放入常量池中再使用。 因此:当常量池中存在“abc”时创建一个对象 new String() ;不存在“abc”...
public String(String original) { //other code ... } 大家都知道,我们常用的创建一个类的实例(对象)的方法有以下两种: 一、使用new创建对象。 二、调用Class类的newInstance方法,利用反射机制创建对象。 我们正是使用new调用了String类的上 面那个构造器方法创建了一个对象,并将它的引用赋值给了str变量。同时我...
不创建string对象否则创建这样就一个string对象遇到new运算符号了在内存上创建string对象并将其返回给s又一个对象所以总共是2个对象 关于String a=new String("a")创建几个对象问题的正确答案 分类:经验技巧之Ajax2007-12-20 12:16 555人阅读评论(0)收藏举报 知道在java中除了8中基本类型外,其他的都是类对象以...
2个:a值和a引用地址,也叫引用对象。引用变量和对象,对象一般通过new在堆中创建,s只是一个引用变量。所有的字符串都是String对象,由于字符串文字的大量使用,java中为了节省时间,在编译阶段,会把字符串文字放在文字池中,文字池的一个好处就是可以把相同的字符串合并,占用一个空间,我们可以用==...
new String("abc"); 答案众说纷纭,有说创建了1个对象,也有说创建了2个对象。答案对,也不对,关键是要学到问题底层的原理。 底层原理分析 String str1 = "abc";//在常量池中String str2=newString("abc");//在堆上 当直接赋值时,字符串“abc”会被存储在常量池中,只有1份,此时的赋值操作等于是创建0...
2个。 1,a值 2.a引用地址,也叫引用对象
又是这个问题 两个对象 堆中一个,字符串常量池中一个 引用在栈中,不算对象