【发布时间】:2014-12-08 09:25:55
【问题描述】:
我想将一个字节数组赋值给一个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。我该怎么做?(我的问题现在清楚了吗?)
【问题讨论】:
-
为什么要这样做?你想达到什么目的?
-
能否请您显示“将一个字节分配给 [n enum] 变量”的意思的代码。因为我不太确定你的意思。也许如果我们能看到这段代码,我们会更好地理解你想要做什么。
-
@Abinaya:你所说的“打印”是什么意思——是关于调用枚举的
toString方法吗? -
如果您调用了第二个构造函数,那么是的,该数组将为空,因为您没有为其赋值。 b.value == 17, b.val[0] == b.val[1]==0, 如果是 a => a.value ==0, a.val[0]==11, a .val[1]==12
-
@TacB0sS : 那么解决办法是什么?
标签: java arrays enums byte assign