zoukankan      html  css  js  c++  java
  • Stirng str1 = new String("abc");Stirng str2 = new String("abc");创建了几个对象

    今天下午看群里有人讨论这个问题,好吧.的确快忘记这个知识点了.

    Stirng str1 = new String("abc"); 

    Stirng str2 = new String("abc");

    这里产生了3个对象:

    第一个是new 创建的new String();

    第二个是"abc"对象,str1这个变量指向"abc";

    第三个是第二句的new String();

    如果再来一句:String str3 = "abc", 则没有创建新的对象,还是3个对象,因为第一没有用new去创建新的实例,第二它会找字符串池里的"abc",如果有责指向它,没有的话才创建;

      解释下字符串池:他是一个由字符组成的一个数组就相当于char str1 =new char[]{a,b,c};  如果不是遇到新的字符串,则直接指向原来的串池,如果遇到新的字符串则创建一个新的串池,个人以为因为java基本类型中中没有String类型,所以当出现新的字符串的时候需要以上面char 类型来创建一个数组对象。

  • 相关阅读:
    puttytray
    让程序同时输出到文件与屏幕(tee)
    R将文件转化为矩阵
    gnome3下gedit乱码的解决方案
    perl随机打乱数组
    gnome 3.6
    google earth 离线下载地址
    wget 使用技巧
    运行pindel注意事项
    获取当前行号与列号
  • 原文地址:https://www.cnblogs.com/mohe/p/3008436.html
Copyright © 2011-2022 走看看