...args 这样就把类数组转成了数组
时间: 2023-09-29 20:02:38 浏览: 58
是的,`...args` 是展开运算符,可以将类数组对象转换为数组。它可以在函数调用或数组字面量中使用。
举个例子,如果有一个类数组对象 `arguments`,你可以使用 `...args` 将其转换为数组:
```javascript
function foo() {
console.log(Array.isArray(arguments)); // true,arguments 是类数组对象
const array = [...arguments]; // 将 arguments 转换为数组
console.log(Array.isArray(array)); // true,array 是数组
}
foo(1, 2, 3);
```
在这个例子中,`arguments` 是函数内部的特殊对象,它类似于数组但不是真正的数组。通过使用 `...arguments`,我们可以将其转换为真正的数组。
相关问题
如何把LinkedList转换成int数组
要将 `LinkedList` 转换为 `int` 数组,你可以使用 `toArray()` 方法来实现。
以下是一个示例代码:
```java
import java.util.LinkedList;
public class Main {
public static void main(String[] args) {
LinkedList<Integer> linkedList = new LinkedList<>();
linkedList.add(1);
linkedList.add(2);
linkedList.add(3);
int[] array = linkedList.stream().mapToInt(Integer::intValue).toArray();
for (int num : array) {
System.out.println(num);
}
}
}
```
在这个示例中,我们首先创建了一个 `LinkedList` 对象 `linkedList`,并向其中添加了几个整数。然后,我们使用 `stream()` 方法将 `linkedList` 转换为一个流,使用 `mapToInt()` 方法将流中的元素转换为 `int` 类型,并最后使用 `toArray()` 方法将流中的元素转换为 `int` 数组。
输出结果将会是:
```
1
2
3
```
希望这个示例对你有帮助!如果你还有其他问题,请随时提问。
如何把非二进制文件转换成byte数组
要将非二进制文件(例如图片、音频、视频等)转换为byte数组,可以使用Java的IO类。以下是一个简单的Java代码示例,可以将指定文件转换为byte数组:
```java
import java.io.*;
public class FileToBytes {
public static void main(String[] args) {
File file = new File("path/to/file");
byte[] bytesArray = new byte[(int) file.length()];
try {
FileInputStream fis = new FileInputStream(file);
fis.read(bytesArray);
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("File to byte array successfully!");
}
}
```
在上面的代码中,我们首先创建一个File对象,指定要转换的文件的路径。然后,我们创建一个byte数组,其大小等于文件的长度。
接下来,我们使用FileInputStream类读取文件,并将其读取到byte数组中。最后,我们关闭文件输入流并输出成功消息。
需要注意的是,如果文件过大,这种转换方式可能会导致内存不足。在这种情况下,可以考虑使用BufferedInputStream或者RandomAccessFile来进行读取和转换。