Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用反射创建大小为的字节[]?_Java_Reflection_Size_Bytearray - Fatal编程技术网

Java 如何使用反射创建大小为的字节[]?

Java 如何使用反射创建大小为的字节[]?,java,reflection,size,bytearray,Java,Reflection,Size,Bytearray,引言: 所以,我正在使用一个API,我需要覆盖2个100%相同的函数,一个返回字节[],一个返回短[]。为了确保不必对所有内容进行两次编辑,我想创建一个返回所需内容的函数。但要实现这一点,我需要创建一个字节[4096]或一个不能转换为任何内容的短[4096],因此我考虑使用反射并检查是否需要字节[]或短[] 问题: 我不知道如何使用反射创建一个固定大小的字节[],所以我在这里问这个问题 解决方案: Array.newInstance(byte.class, size); // new byte[

引言
所以,我正在使用一个API,我需要覆盖2个100%相同的函数,一个返回字节[],一个返回短[]。为了确保不必对所有内容进行两次编辑,我想创建一个返回所需内容的函数。但要实现这一点,我需要创建一个字节[4096]或一个不能转换为任何内容的短[4096],因此我考虑使用反射并检查是否需要字节[]或短[]
问题
我不知道如何使用反射创建一个固定大小的字节[],所以我在这里问这个问题


解决方案

Array.newInstance(byte.class, size); // new byte[size];
Array.newInstance(byte.class, size, size); // new byte[size][];
Array.newInstance(byte.class, size1, size2); // new byte[size1][size2];
只需使用:


你可以使用
Array
中的其他方法来操作数组。

我也可以用
newbyte[16][]
这样的定义来操作数组吗?
这样的定义类似于
Array。newInstance(byte[].class.)
@LeonKasko:听起来像,是的-你试过了吗?
Object byteArray = Array.newInstance(byte.class, 4096)
Object shortArray = Array.newInstance(short.class, 4096);