Java强制转换为枚举类型问题
发布时间:2020-12-15 02:06:50 所属栏目:Java 来源:网络整理
导读:将 Java long类型转换为Enum类型时出现了一些问题,无法找到解决方法. 这是我正在使用的: public enum DataType { IMAGES(1),VIDEOS(2); private int value; private DataType(int i){ this.value = i; }} 我需要做这样的事情: DataType dataType;String th
将
Java long类型转换为Enum类型时出现了一些问题,无法找到解决方法.
这是我正在使用的: public enum DataType { IMAGES(1),VIDEOS(2); private int value; private DataType(int i){ this.value = i; } } 我需要做这样的事情: DataType dataType; String thiz = "1"; long numb = Long.parseLong(thiz); dataType = numb; 我得到的错误说:
第二种情景: 我有这个 : static String[] packetType; String tmp=incomingData.toString(); // where incomingData is byte[] int lastLoc = 0; int needsSize = packetFieldSizes[tmpCurrentField-1]; // where packetFieldSizes,tmpCurrentField are integers. thiz=tmp.substring(lastLoc,needsSize); packetType=thiz; // packetType = thiz copy; where thiz is the same as used above. 我试图将thiz转换为String []并使用valueOf,但是 有任何建议如何使思想工作? 提前致谢! 解决方法
枚举已经为每个实例提供了一个唯一的整数.查看
ordinal() .(请注意,它基于零.)
如果您需要从long到DataType,您可以这样做 DataType dataType; String thiz; long numb = Long.parseLong(thiz); dataType = DataType.values()[(int) numb]; 在这个答案中可以找到枚举常量,字符串和整数的完整转换列表: > Conveniently map between enum and int / String (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |