相关疑难解决方法(0)

数组是通过值传递还是通过Java引用传递?

可能重复:
Java是"传递引用"吗?

数组在Java 中不是原始类型,但它们也不是对象,它们是通过值还是通过引用传递的?它取决于数组包含的内容,例如引用或基本类型吗?

java arrays

164
推荐指数
5
解决办法
18万
查看次数

存储在堆栈或堆中的Java基元数组是?

我有这样的数组声明:

int a[];
Run Code Online (Sandbox Code Playgroud)

a是一个原始int类型的数组.这个数组存储在哪里?它是存储在堆还是堆栈上?这是一个原始类型int,所有原始类型都不存储在堆上.

java arrays heap stack primitive-types

81
推荐指数
4
解决办法
4万
查看次数

对象数组的内存分配

在我的计算机科学课程中,我们被告知在创建数组时,JVM将根据数组的大小自动分配内存.例如,如果创建大小为10的整数数组,JVM将为该数组分配10*32位数据.

我的问题是,当您创建具有不同大小的对象数组时,此过程究竟是如何工作的?例如一个String对象.当你创建一个包含10个字符串的数组时,系统上是否为这些字符串实际保留了任何内存,或者因为它们只是指针,所以不需要内存分配?

java memory arrays

5
推荐指数
1
解决办法
1万
查看次数

如何在Java中分配对象数组?

到目前为止,我在阅读一些Java教程时使用以下语法分配数组:

// Ok, all the elements are zero upon creation
int[] a = new int[5];

// I can set all the elements however I want!
for (int i = 0; i < a.length; i++)
     a[i] = i+1
Run Code Online (Sandbox Code Playgroud)

但是自从我开始使用课程以来,事情让我感到困惑:

class Employee
{
    public Employee(String name, int age) {
         emp_name = n;
         emp_age = a;
    }

    void setName(String name) {
          emp_name = name;
    }

    void setAge(int age) {
          emp_age = age;
    }

    private String emp_name;
    private String emp_age;

}
Run Code Online (Sandbox Code Playgroud)

我在main函数中使用此类,如下所示:

Employee[] staff …
Run Code Online (Sandbox Code Playgroud)

java arrays

0
推荐指数
1
解决办法
9353
查看次数

标签 统计

arrays ×4

java ×4

heap ×1

memory ×1

primitive-types ×1

stack ×1