Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Работа с Object


Автор: NextAlex 30.3.2006, 14:57
Всем привет!
Есть таблица JTable, с заполнением проблем нет smile , но зато есть проблема с сохранением.
Содержимое ячейки таблицы я получаю как Object функцией JTable.getValueAt(), и на этом счастье заканчивается - мне из этого объекта нужно получить переменную нужного типа, например Double, тем более что она изначально таковой и была, а я бьюсь над этим уже второй день и не могу догнать как это сделать.
Сразу скажу что я не использую JDBC и т.п. - таблица нужна для более скромных целей smile.
В общем мне нужно из переменной типа Object получить переменную типа double.
Как определить тип я кажется уже понял:
Код

void detectType(Object Value){
        Field ff1 = null;
        try {
            ff1 = Value.getClass().getDeclaredField("TYPE");
        } catch (SecurityException ex) {
            ex.printStackTrace();
        } catch (NoSuchFieldException ex) {
            ex.printStackTrace();
        }
            System.out.println("Value type is " + ff1.getDeclaringClass().getSimpleName());
}

но с приведением по-прежнему туго ...
Помогите пожалуйста.

Автор: kkorsakoff 30.3.2006, 15:29
Да все простоsmile

Если ты знаешь, что это именно Double, то делай так

Код

Double d=(Double)Value;


Так можно выполнить приведение к любому классу.

Проверка на возможность такого приведения выполняется хотя бы так:

Код

if (Value instanceof Double){

}

Автор: NextAlex 30.3.2006, 15:35
kkorsakoff, а ты пробовал ?
мне, например, компилятор говорит что типы несовместимы и не компилирует программу ...
Добавлено @ 15:38
kkorsakoff, извини, протупил - не посмотрел на имя типа ...
действительно с double не пашет, а с Double - пашет.
Век живи - век учись ...
Спасибо smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)