java– 如何反转枚举?

java– 如何反转枚举?,第1张

概述我下面有一个Enum课程publicclassPTalkCommand{publicenumCode{CLR((byte)0),ACK((byte)170),SER((byte)0),NAK((byte)0),TIMEOUT((byte)255),DIP((byte)173),REQUEST_CHECKSUM((byte)162),

我下面有一个Enum课程

public class PTalkCommand {public enum Code {        CLR((byte) 0),        ACK((byte) 170),        SER((byte) 0),        NAK((byte) 0),        TIMEOUT((byte) 255),        DIP((byte) 173),        REQUEST_CHECKSUM((byte) 162),        REQUEST_STATUS((byte) 181),        REQUEST_FLASH((byte) 166),        REQUEST_CONfig_READ((byte) 249),        REQUEST_STATUS_SCREEN((byte) 208),        REQUEST_MulTIpulse_CONfig((byte) 0),        REQUEST_SERIAL_NUMBER((byte) 62),        REQUEST_BILL_nameS((byte) 64),        DO_FLASH((byte) 161),        DO_MOTOR((byte) 81),        DO_SEND_EE_PROM_DATA((byte) 50),        DO_ENTER_file_name((byte) 61),        DO_ENTER_SERIAL_NUMBER((byte) 63),        DO_CONfigURE((byte) 248),        DO_MulTIpulse_CONfig((byte) 210),        DATA_ColLECTION_RAW_SENSORS((byte) 84),        DATA_ColLECTION_MODE((byte) 0),        DATA_ColLECTION_CAL_POINTS((byte) 0),        DATA_ColLECTION_WITH_DEBUG((byte) 68),        DATA_ColLECTION_EXIT((byte) 119),        CAliBRATE_OAS((byte) 150),        CAliBRATE_NOTE_PRESENT_PUNCH((byte) 0),        CAliBRATE_CB_REMOVED((byte) 0),        CAliBRATE_IR_BLUE_TRANSMISSIVE((byte) 0),        CAliBRATE_IR_REFLECTIVE((byte) 0),        CAliBRATE_BLUE_REFLECTIVE((byte) 0),        CAliBRATE_MONITOR_VolTAGES((byte) 0),        STACKER_OR_STACKERLESS((byte) 158),        CAliBRATE_CURVE_Lever((byte) 0),        REQUEST_BEZEL_REV_LEV((byte) 73),        DO_BEZEL_UPDATE((byte) 82);        private final byte valueCode;        private Code(byte value) {            this.valueCode = value;        }        public byte getValue() {            return valueCode;        }    }}

并希望它以相反的顺序进行.在.Net中,代码就是这样

public voID Prepend (PTalkCommand.Code[] commands) {            IEnumerable<PTalkCommand.Code> enumerable = commands.Reverse<PTalkCommand.Code> ();            foreach (PTalkCommand.Code current in enumerable) {                base.Insert (0, (byte)current);            }        }

在Java中我也想尝试做同样的事情.

Enumeration<PTalkCommand.Code> enumerable = commands. ???????

但是,我无法做到这一点.请告诉我如何在Java中做同样的事情?

解决方法:

有一个内置的.values()方法,它返回所有枚举常量的数组.你可以向后迭代它.

Code[] values = Code.values();for (int i = values.length - 1; i >= 0; i--) {    Code next = values[i];    //do your thing}
总结

以上是内存溢出为你收集整理的java – 如何反转枚举?全部内容,希望文章能够帮你解决java – 如何反转枚举?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1110847.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-29
下一篇2022-05-29

发表评论

登录后才能评论

评论列表(0条)

    保存