java - int[] b = new int[a.length] b=a 和 int[] b = a 之间有区别吗?

标签 java

有区别吗

int[] b = new int[a.length];
b=a;

int[] b = a;

在java中?

最佳答案

它们大部分相同,但也有一些差异:

  • 一般来说,第一个将创建一个立即变得无法访问的数组(符合垃圾回收的条件),因此实际上不存在。 (在这两个版本中,b 最终都会引用与 a 相同的数组,除了下面的注意事项。)
  • 如果 anull,则第一个将抛出 NullPointerException
  • 如果运气不好,第一个可能会抛出 OutOfMemoryError 或类似错误。
  • 第一个更有可能导致编译器警告、FindBugs 警告等。

关于java - int[] b = new int[a.length] b=a 和 int[] b = a 之间有区别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24421822/

相关文章:

java - 使用 Tomcat 8 服务器创建与 Oracle9 数据库的连接时出现 AbstractMethodError

java - 递归java - 不同的是for循环不理解如何工作

java - 对于 Windows Xp 和 Windows 7,从 "My Documents"访问文件时出错

java - 将时间更改为特定时区的最简单方法

java - Jboss接缝: Enabling Debug page on WebLogic 10. 3.2(11g)

java - 对三个整数进行排序

java - 如何使用 apache telnet 在远程服务器中打开进程

java - Google Guice 3 有什么新功能?

java - 我可以将java测试复制到Katalon studio吗

java - 在命令提示符下运行 Java 程序