gpt4 book ai didi

java - 从不同值转换为枚举值

转载 作者:行者123 更新时间:2023-12-01 18:02:45 25 4
gpt4 key购买 nike

我的应用程序获取需要转换为相应枚举值的外部数据。这是我的第一个方法:

public enum Side {
LEFT,
RIGHT;

public static Side fromByte(Byte b) throws Exception {
switch(b)
{
case 'l':
return LEFT;
case 'r':
return RIGHT;
default:
throw new Exception("not a valid byte");
}
}
}

这样可以吗,或者有更惯用的方法吗?

注意:忽略字节到字符的比较和非常通用的异常抛出,我稍后会研究它 - 特别是字符和字节类型转换。似乎比我最初预期的要大。

最佳答案

我通常会做这样的事情,

public enum Side
{
LEFT('l'),
RIGHT('r');

private byte byteValue;

private Side(byte byteValue)
{
this.byteValue = byteValue;
}

public byte getByteValue()
{
return byteValue;
}

public static Side findByByteValue(byte value)
{
for(Side side : values())
{
if(side.byteValue == value)
{
return side;
}
}
return null;
}
}

关于java - 从不同值转换为枚举值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39433830/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com