如何使用反射创建大小的byte []?

时间:2016-02-20 12:10:41

标签: java reflection size bytearray

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


解决方案

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

1 个答案:

答案 0 :(得分:1)

只需使用java.lang.reflect.Array.newInstance

Object byteArray = Array.newInstance(byte.class, 4096)
Object shortArray = Array.newInstance(short.class, 4096);

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