java - Java 中的 Array 和 Arrays 类有什么区别?

标签 java arrays

<分区>

我是 Java 新手,正在学习数组的概念。我遇到过两个 Java 类:Array 和 Arrays。我只是想知道这两个类(class)有什么区别?

最佳答案

它们只是用一组不同的方法服务于不同的目的:

java.lang.reflect.Array

The Array class provides static methods to dynamically create and access Java arrays.

这个类本质上是一个实用类,具有静态方法来在较低级别上操作数组。它通常用于需要通过反射 API 访问数组的高级技术。

java.util.Arrays

This class contains various methods for manipulating arrays (such as sorting and searching). This class also contains a static factory that allows arrays to be viewed as lists.

此类本质上是一个实用程序类,具有静态方法以处理原始数组并提供从原始数组到基于集合的数组 (List) 的桥梁。

例如,您可以轻松地用特定值填充数组:

import java.util.Arrays;
    
int[] array = new int[1024];
Arrays.fill(array, 42);

另一个有用的方法是 toString,它返回给定数组的格式化表示:

System.err.println(Arrays.toString(array));  

// [42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, ...]

关于java - Java 中的 Array 和 Arrays 类有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35860426/

相关文章:

java - 使用 Java (Android) 改变音频音高

java - 为什么我对字符串的空检查不起作用?

在 OpenGL ES 2.0 中将字节数组转换为图像

java - 在java中声明一个没有大小的数组

c++ - 我如何解释多维 vector ?

java - Maven项目需要构建才能编译吗?

java - 在 Eclipse 中的特定行号处打开 XML 文件

java - MAC 中的 TableViewer ->setWidth(0) 问题

php - 为什么访问 boolean 值的数组索引不会引发任何类型的错误?

c++ - 不使用 new 的动态二维数组