zoukankan      html  css  js  c++  java
  • String String s = new String("asd") 涉及对象数目

    问题·:.String str = new String("abc")创建了多少个对象?

      这个问题在很多书籍上都有说到比如《Java程序员面试宝典》,包括很多国内大公司笔试面试题都会遇到,

    大部分网上流传的以及一些面试书籍上都说是2个对象,这种说法是片面的。

     
    而这道题目让人混淆的地方就是这里,这段代码在运行期间确实只创建了一个对象,即在堆上创建了"abc"对象。
    而为什么大家都在说是2个对象呢,这里面要澄清一个概念 该段代码执行过程和类的加载过程是有区别的。
    在类加载的过程中,确实在运行时常量池中创建了一个"abc"对象,而在代码执行过程中确实只创建了一个String对象。   因此,这个问题如果换成 String str = new String("abc")涉及到几个String对象?合理的解释是2个。   个人觉得在面试的时候如果遇到这个问题,可以向面试官询问清楚”是这段代码执行过程中创建了多少个对象
    还是涉及到多少个对象“再根据具体的来进行回答。
  • 相关阅读:
    .NET 4.0 中的契约式编程
    DELL安装Windows Server 2019
    Mysql 5.7.34免安装版本
    MQTT
    WPF属性
    WPF数据绑定
    git系列之(五)git stash 命令
    Vue.js
    git 对比两个分支差异
    TPL 之二 TransformBlock
  • 原文地址:https://www.cnblogs.com/chengbao/p/5183850.html
Copyright © 2011-2022 走看看