在Java中的以下字符串中创建了多少个对象 [英] How many objects are created in the following Strings in Java

查看:45
本文介绍了在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆