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);