我想将一个字节数组值赋给enum
变量。我能够为变量分配一个字节,但无法分配整个字节数组。我怎样才能做到这一点? (我希望我的问题不荒谬。)
public enum abc
{
a (new byte[] {0x11,0x22},
b ((byte)0x17);
byte value;
byte[] val=new byte[2];
private abc(byte[] val)
{
this.val=val;
}
private abc(byte value)
{
this.value=value;
}
}
现在,如果我想要打印abc.a ...它显示我0而不是11 22.我想通过将所有值存储在数组中来打印整个序列为11 22 17.我怎么能这样做?(我的问题现在清楚了吗?)
答案 0 :(得分:3)
这样的东西?
public enum CustomEnumConstructor {
Fibonacci(new int[]{1, 1, 2, 3, 5, 8, 13, 21}, new int[]{34, 55, 89, 144, 233, 377, 610}, 987),
SternBrocot(new int[]{1, 1, 2, 1, 3, 2, 3, 1, 4, 3}), ;
private final int[] array;
private CustomEnumConstructor(int[] array1, int[] array2, int value) {
int[] array12 = new int[array1.length + array2.length];
System.arraycopy(array1, 0, array12, 0, array1.length);
System.arraycopy(array2, 0, array12, array1.length, array2.length);
array = new int[array12.length + 1];
System.arraycopy(array12, 0, array, 0, array12.length);
array[array12.length] = value;
}
private CustomEnumConstructor(int[] array) {
this.array = array;
}
public int[] getArray() {
return array;
}
}