JAVA面试中,String常量池中创建了多少个对象实例?

2026-06-10 13:081阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计805个文字,预计阅读时间需要4分钟。

JAVA面试中,String常量池中创建了多少个对象实例?

面试官Q1:请问`String s=new String(xyz);`产生了几个对象?

对于这个Java面试题,老套路先上代码:

javapublic class StringTest { public static void main(String[] args) { String s1=Hello; String s2=Hello; String s3=new String(xyz); }}

分析:- `s1`和`s2`都是指向`Hello`这个字符串常量池中的引用。- `s3`是通过`new`关键字创建的,它会在堆内存中生成一个新的`String`对象,并复制`xyz`的值到这个新对象中。

所以,这段代码产生了3个对象:两个`String`对象(`s1`和`s2`指向同一个对象)和一个新的`String`对象(`s3`)。

阅读全文

本文共计805个文字,预计阅读时间需要4分钟。

JAVA面试中,String常量池中创建了多少个对象实例?

面试官Q1:请问`String s=new String(xyz);`产生了几个对象?

对于这个Java面试题,老套路先上代码:

javapublic class StringTest { public static void main(String[] args) { String s1=Hello; String s2=Hello; String s3=new String(xyz); }}

分析:- `s1`和`s2`都是指向`Hello`这个字符串常量池中的引用。- `s3`是通过`new`关键字创建的,它会在堆内存中生成一个新的`String`对象,并复制`xyz`的值到这个新对象中。

所以,这段代码产生了3个对象:两个`String`对象(`s1`和`s2`指向同一个对象)和一个新的`String`对象(`s3`)。

阅读全文