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

6

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


https://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html - Rahul Tripathi
正如你所看到的,Array类没有很多数组操作方法。当你创建一个数组时,由于你从未使用new关键字创建数组,Java会在内部调用数组类中的方法。Arrays类基本上是一个实用程序类,它提供了更多的数组操作方法。 - Rahul Sharma
3个回答

9

它们只是服务于不同的目的,并采用不同的方法:

java.lang.reflect.Array

Array类提供静态方法来动态创建和访问Java数组。

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

java.util.Arrays

这个类包含各种操作数组的方法(如排序和搜索)。此外,这个类还包含一个静态工厂,允许将数组视为列表。
这个类本质上是一个实用程序类,具有用于处理原始数组和提供从原始数组到基于集合的数组(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, ...]

2

数组:这个类可以使用反射在运行时创建数组。

数组工具类:包含静态方法,用于操作(排序、最大值、最小值等)存储在数组中的值。


1

你是说java.sql.Array和java.util.Arrays吗?如果是的话,前者是JDBC中用于将数据库类型映射到Java类型的类,而后者则是用于处理数组类型的一组操作(排序、搜索等)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接