- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个数组 a1 和 a2
代码a1=a2;是什么意思?到底做什么?复制数组 a1 中的所有元素?这就是我的想法,但似乎并没有发生?
不,它不复制任何数组元素,而是分配一个引用。总之,这意味着 a1 引用与 a2 完全相同的数组对象引用。
代码:
int[] a1 = new int[] { 1, 2, 3 };
int[] a2 = new int[] { 4, 5, 6 };
a1 = a2;
a1[1] = 3;
a2[2] = 2;
a2 = a1;
for (int i = 0; i < a2.length; i++) {
System.out.print(a2[i] + " ");
}
谁能解释为什么结果是 4 3 2 而不是 4 3 6?
最佳答案
不,它不复制任何数组元素,而是分配一个引用。总之,这意味着 a1 与 a2 引用完全相同的数组对象引用。
如果你想复制元素,你可以使用 for 循环,或者 System.arraycopy(...)
如果你想进行深复制,那么我会使用for循环,并复制每个元素,可能使用复制构造函数或通过克隆,或任何最有效的方法感测阵列所持有的项目。
编辑
你的附加代码和我的评论:
int[] a1 = new int[] { 1, 2, 3 };
int[] a2 = new int[] { 4, 5, 6 };
a1 = a2; // both array variables refer to the one same array object, 4, 5, 6
a1[1] = 3; // you're changing the one single array's 2nd item
a2[2] = 2; // you're changing the same array's 3rd item
a2 = a1; // this does nothing really as they already refer to the same object
for (int i = 0; i < a2.length; i++) {
System.out.print(a2[i] + " ");
}
So thats why the result is 4 3 2 and not 4 3 6?
是的,看评论
关于java - 这个 javacode 究竟做了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20623140/
我有一个数组 a1 和 a2 代码a1=a2;是什么意思?到底做什么?复制数组 a1 中的所有元素?这就是我的想法,但似乎并没有发生? 不,它不复制任何数组元素,而是分配一个引用。总之,这意味着 a1
我正在使用 java/mongodb。我想与一些用户创建一个表(集合)。好吧,它的工作原理我只是不确定我的编码风格。如果我只想添加 3 个新人到集合中,这样好吗? BasicDBObject
我想通过 Java 和 Kotlin 发出简单的 Volley POST 请求。我在我的应用程序中使用两种语言,因此我尽力使用两种语言。我过来了this使用 Kotlin 中的以下 VolleyCla
如何在 java 中使用空格或空格替代? xml 给我错误的代码 findViewById(R.id.bus时刻表) 编辑 我正在使用。 int panelId = getResources().
我正在开发一个应用程序,我必须在我的 Activity 中动态创建一个 xml 项目,如圆形 ImageView 。如下所示。 现在在我的java代码中我正在创建它的一个新实例,我想更改 app:b
我正在尝试使用exec方法通过java代码编译c文件 String inputFilePath = "\"D:\\Soft\\WebApplication\\build\\web\\code\\Dem
我正在尝试提取数据并将其直接写入我创建的数据库中phpmyadmin(wamp服务器)。数据每天都在增长,我必须保留它今天,所以我将在几天内运行我的程序代码。现在我的问题:如何防止相同的条目?我通过姓
我们正在使用 Tomcat 来部署我们的 Vaadin 应用程序。那里没有问题。不过,我们想要做的是在不重新部署我们的应用程序的情况下执行 java 代码。例如:我们希望最终用户能够向我们的程序添加代
我需要将我们的自定义 Valve 代码之一从 Tomcat 7 迁移到 Tomcat 8.5: import java.io.IOException; import javax.servlet.Ser
我已经开始使用 SoapUI 5(非专业版)构建服务监视器。服务监视器应该能够: 测试步骤1(http 请求):调用 URL,生成 token Teststep2(groovy 脚本):解析响应并将
我目前正在编写一个基于客户端服务器的工具。由于IP地址不稳定,我的想法是让服务器应用程序使用正确的服务器IP编译客户端应用程序。 一步一步: 服务器应用程序启动。 用户查看其服务器计算机当前的 IP
我是一名优秀的程序员,十分优秀!