在Java中的以下字符串中创建了多少个对象 [英] How many objects are created in the following Strings in Java
问题描述
可能重复:
此代码生成了多少个Java对象?以及为什么?
在下面我很困惑
String s1 = new String("Java");
String s2 = new String("Java");
在这里创建了多少个对象?
How many objects are created here?
String s1 = new String("Java");
String s2 = new String("Ruby");
在这里创建了多少个对象?
How many objects are created here?
String s1 = new String("Java");
String s2 = "Java";
在这里创建了多少个对象?
How many objects are created here?
String s1 = "Java";
String s2 = "Java";
在这里创建了多少个对象?
How many objects are created here?
推荐答案
您的第一部分代码:
创建2个对象.如果字符串池中不存在"Java",则会在其中创建一个字符串并将其添加到其中.
2 objects are created. If "Java" is not present in String Pool, a string is created and added there.
您的第二部分代码:
将创建2个对象,并且如果字符串池"中没有"Java"和"Ruby",则会创建两个字符串并将其添加到其中.
2 objects are created and if neither "Java" nor "Ruby" are present in String Pool, both strings are created and added to it.
您的代码的第三部分:
创建了一个对象.并执行相同的条件以添加到字符串池.
one object created. and same condition is executed to add to String Pool.
您的第四部分代码:
如果字符串池中不存在"Java",则仅创建一个对象.否则未创建新对象.
Only one object created, if "Java" not present in String Pool. else no new object created.
这篇关于在Java中的以下字符串中创建了多少个对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!