yunyunTest 2017-07-29 04:19 采纳率: 100%
浏览 2380

int []s=new int[]{1,2}和int[] s={1,2}

前者是在堆中,后者是在栈中吗,这个是Java的,有点不懂他们的区别

  • 写回答

2条回答 默认 最新

  • 马大头 2017-07-29 05:58
    关注

    int []s=new int[]{1,2} 是 new出来的对象,无论对象是否存在,都会开辟出一块新内存来存放它
    int[] s={1,2} 会先在内存中查找,如果内存中已经有{1,2}则直接返回该对象的引用
    所以 int[] s={1,2} 和 int[] z={1,2} 的地址值是一样的, 而int []s=new int[]{1,2} 和 int []z=new int[]{1,2}则是不一样的

    评论

报告相同问题?

悬赏问题

  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于#flink#的问题:关于docker部署flink集成hadoop的yarn,请教个问题flink启动yarn-session.sh连不上hadoop
  • ¥30 求一段fortran代码用IVF编译运行的结果
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 lammps拉伸应力应变曲线分析
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题