java - 访问另一个类的数组变量

标签 java arrays scope

假设我有一个类如下:

public class class1{

   private int[] array1;

   public class1(){
      array1 = new int[10];
      }

   public int[] getArray(){
      return array1;
      }
}

如果我在另一个类或main中创建这个类的实例,并使用getArray()方法将数组分配给上层类中的另一个变量,然后修改那里的数组值,原始数组值是否会改变?在第一类中也进行修改吗?

最佳答案

will the original array values in the first class be modified also?

是的,它会被修改,因为您在调用者中获得的不是数组本身的副本,而是获得对原始数组对象的引用的副本。

并且,如果您使用任何引用修改数组,则指向该数组的所有引用都会反射(reflect)更改。

关于java - 访问另一个类的数组变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13775797/

相关文章:

java - 创建相对于当前实时时间的倒计时器?

用指针对二维数组进行排序的代码

lambda - 返回 vargas lambdas lua 的 varargs 函数

ios - 删除特定数组元素,等于字符串 - Swift

php - 如果数组包含文本值,则将它们添加到数据库 MYSQL

javascript - Chrome 控制台已经声明变量抛出 let 的 undefined reference 错误

C++ 返回后这是一个 "invalid"引用吗?

java - Spring MVC 和 Apache POI 创建 xls 文档。无法保存模型中新创建的文件

java - 在 tomcat 实时生产服务器上重新部署 war

java - 如何用 Java 将我的文件夹同步到 Amazon S3