передать перечисление универсального типа в качестве параметра (java)

я написал следующий метод

@SuppressWarnings("unchecked")
protected <E extends Enum<E>> void populateComboWithEnumValues(Combo combo, E enumData, String defaultSelectionValue) {

    // populate commbo
    for (Enum<E> enumVal: enumData.getClass().getEnumConstants()) {  
        combo.add(enumVal.toString());
    }  

    // select default selection
    for (Enum<E> enumVal: enumData.getClass().getEnumConstants()) {  
        if(enumVal.toString().equals(defaultSelectionValue)) {
            try {
                combo.select((Integer) enumVal.getClass().getMethod("getSelectionIndex").invoke(enumVal));
            } catch (IllegalArgumentException e) {
                LOGGER.debug("an IllegalArgumentException exception occured");
            } catch (SecurityException e) {
                LOGGER.debug("an SecurityException exception occured");
            } catch (IllegalAccessException e) {
                LOGGER.debug("an IllegalAccessException exception occured");
            } catch (InvocationTargetException e) {
                LOGGER.debug("an InvocationTargetException exception occured");
            } catch (NoSuchMethodException e) {
                LOGGER.debug("an NoSuchMethodException exception occured");
            }
        }
    } 

Как я могу передать разные типы перечислений второму аргументу? Я знаю, что не могу создать экземпляр перечисления, но инициализация перечисления означает, что я буду передавать одно значение, а не все инициализированное перечисление, как показано ниже... Другие перечисления также будут переданы тому же методу для специфики Combo

public enum ServerEnvironmentName {

    /** 
     * The CFD environment name. 
     * Selection Index
     */
    CFD("CFD", 0),

    /** 
     * The PIT environment name. 
     * Selection Index
     */
    PIT("PIT", 1),

    /** 
     * The SIT environment name. 
     * Selection Index
     */
    SIT("SIT", 2),

    /** 
     * The DEV environment name. 
     * Selection Index
     */
    DEV("DEV", 3);

    /** The input string to identify the environment. */
    private String envURL;

    /** The index value for view selection.*/
    private int selectionIndex;

    /**
     * Enum constructor to initialise default values. 
     * 
     * @param selectionIndex index value for view selection
     * @param envURL input parameter for environment
     */
    ServerEnvironmentName(String envURL, int selectionIndex) {
        this.envURL = envURL;
        this.selectionIndex = selectionIndex;
    }

    /**
     * Getter for the envURL.
     * 
     * @return the environment string 
     */
    public String getEnvironmentUrl() {
        return envURL;
    }

    /**
     * This method returns the index of the enum value.
     * 
     * @return the selection index
     */
    public int getSelectionIndex() {
        return selectionIndex;
    }
}
-. ] 121 ---1056243- jquery показать/скрыть элементы с одинаковым началом У меня есть тридцать div и тридцать кнопок. Каждая кнопка скрывает ранее открытый div и открывает другой div. Например :Открыт div с именем 'divnr4'. Нажимаю кнопку №7 и divnr4...

У меня есть тридцать div и тридцать кнопок. Каждая кнопка скрывает ранее открытый div и открывает другой div. Например:

Открыт div под названием «divnr4». Я нажимаю кнопку № 7, и divnr4 исчезает, но появляется divnr7. Как я мог это сделать? Я думаю об использовании чего-то вроде

$('#divnr').hide();
$('#divnr7').show();

но я не уверен, что это работает и как это сделать правильно.

Помогите пожалуйста:)

0
задан Mindaugas Jakubauskas 30 July 2012 в 15:21
поделиться