您的位置:首页 > 其它

枚举enum学习

2016-03-14 09:13 381 查看
如果一个变量你需要几种可能存在的值,那么就可以被定义成为枚举类型。之所以叫枚举就是说将变量或者叫对象可能存在的情况也可以说是可能的值一一例举出来。 

下面举个例子:

public class EnumTest1 {
public static void main(String[] args) {
ECPreferenceSettings[] values=ECPreferenceSettings.values();
for(int i=0;i<values.length;i++){
System.out.println(values[i]);
}
}

}

enum ECPreferenceSettings {

    /**

     * Whether is the first use of the application

     *

     */

    SETTINGS_FIRST_USE("com.yuntongxun.ecdemo_first_use" , Boolean.TRUE),

    /**坚持云通讯登陆账号*/

    SETTINGS_YUNTONGXUN_ACCOUNT("com.yuntongxun.ecdemo_yun_account" , ""),

    /**检查是否需要自动登录*/

    SETTINGS_REGIST_AUTO("com.yuntongxun.ecdemo_account" , ""),

    /**是否使用回车键发送消息*/

    SETTINGS_ENABLE_ENTER_KEY("com.yuntongxun.ecdemo_sendmessage_by_enterkey" , Boolean.TRUE),

    /**聊天键盘的高度*/

    SETTINGS_KEYBORD_HEIGHT("com.yuntongxun.ecdemo_keybord_height" , 0),

    /**新消息声音*/

    SETTINGS_NEW_MSG_SOUND("com.yuntongxun.ecdemo_new_msg_sound" , true),

    /**新消息震动*/

    SETTINGS_NEW_MSG_SHAKE("com.yuntongxun.ecdemo_new_msg_shake" , true),

    SETTING_CHATTING_CONTACTID("com.yuntongxun.ecdemo_chatting_contactid" , ""),

    /**图片缓存路径*/

    SETTINGS_CROPIMAGE_OUTPUTPATH("com.yuntongxun.ecdemo_CropImage_OutputPath" , ""),

    

   SETTINGS_APPKEY("com.yuntongxun.ecdemo_appkey" , "20150314000000110000000000000010"),

   SETTINGS_TOKEN("com.yuntongxun.ecdemo_token" , "17E24E5AFDB6D0C1EF32F3533494502B"),

    SETTINGS_ABSOLUTELY_EXIT("com.yuntongxun.ecdemo_absolutely_exit" , Boolean.FALSE),

    SETTINGS_FULLY_EXIT("com.yuntongxun.ecdemo_fully_exit" , Boolean.FALSE),

    SETTINGS_PREVIEW_SELECTED("com.yuntongxun.ecdemo_preview_selected" , Boolean.FALSE),

    SETTINGS_OFFLINE_MESSAGE_VERSION("com.yuntongxun.ecdemo_offline_version" , 0),

    /**设置是否是匿名聊天*/

    SETTINGS_SHOW_CHATTING_NAME("com.yuntongxun.ecdemo_show_chat_name" , false),

    

    SETTINGS_CUSTOM_APPKEY("com.yuntongxun.ecdemo_custom_appkey" , ""),

    SETTINGS_CUSTOM_TOKEN("com.yuntongxun.ecdemo_custom_token" , ""),

    SETTINGS_SERVER_CUSTOM("com.yuntongxun.ecdemo_setserver" , false),

    SETTINGS_NOTICE_CUSTOM("com.yuntongxun.ecdemo_notice" , Boolean.FALSE);

    private final String mId;

    private final Object mDefaultValue;

    /**

     * Constructor of <code>CCPPreferenceSettings</code>.

     * @param id

     *            The unique identifier of the setting

     * @param defaultValue

     *            The default value of the setting

     */

    private ECPreferenceSettings(String id, Object defaultValue) {

        this.mId = id;

        this.mDefaultValue = defaultValue;

    }

    /**

     * Method that returns the unique identifier of the setting.

     * @return the mId

     */

    public String getId() {

        return this.mId;

    }

    /**

     * Method that returns the default value of the setting.

     *

     * @return Object The default value of the setting

     */

    public Object getDefaultValue() {

        return this.mDefaultValue;

    }

    /**

     * Method that returns an instance of {@link com.yuntongxun.ecdemo.common.utils.ECPreferenceSettings} from

     * its. unique identifier

     *

     * @param id

     *            The unique identifier

     * @return CCPPreferenceSettings The navigation sort mode

     */

    public static ECPreferenceSettings fromId(String id) {

        ECPreferenceSettings[] values = values();

        int cc = values.length;

        for (int i = 0; i < cc; i++) {

            if (values[i].mId == id) {

                return values[i];

            }

        }

        return null;

    }

}

打印结果:

SETTINGS_FIRST_USE

SETTINGS_YUNTONGXUN_ACCOUNT

SETTINGS_REGIST_AUTO

SETTINGS_ENABLE_ENTER_KEY

SETTINGS_KEYBORD_HEIGHT

SETTINGS_NEW_MSG_SOUND

SETTINGS_NEW_MSG_SHAKE

SETTING_CHATTING_CONTACTID

SETTINGS_CROPIMAGE_OUTPUTPATH

SETTINGS_APPKEY

SETTINGS_TOKEN

SETTINGS_ABSOLUTELY_EXIT

SETTINGS_FULLY_EXIT

SETTINGS_PREVIEW_SELECTED

SETTINGS_OFFLINE_MESSAGE_VERSION

SETTINGS_SHOW_CHATTING_NAME

SETTINGS_CUSTOM_APPKEY

SETTINGS_CUSTOM_TOKEN

SETTINGS_SERVER_CUSTOM

SETTINGS_NOTICE_CUSTOM
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: