Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как гарантированно создать объект, зная, только типы его параметров 
:(
    Опции темы
Royan
Дата 4.5.2006, 13:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Dreamer
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 14.9.2002
Где: Лондон

Репутация: 3
Всего: 15



Допустим, у нас есть класс Date. У нас стоит задача создать объект класса Date, используя конструктор Date(String). Допустим, также, что у нас есть набор строк. Понятно, что если мы возьмем любую абстрактную строку, то ничего у нас не выйдет, и мы получим IllegalArgumentException. Конечно, мы можем обработать это исключение и воспользоваться конструктором по умолчанию:

Код

        Date d = null;
        try {
            d = new Date("a");
        } catch (IllegalArgumentException e) {
            d = new Date();
        }


Это частный случай, мне же интересен общий. Например, если нет конструктора по умолчанию. Возможно, ли создать объект, на лету (в обработчике исключения?). Для упрощения задачи условимся, что конструкторы объектов, о которых идет речь принимают, только примитивные типы и строки.  

Это сообщение отредактировал(а) Royan - 4.5.2006, 13:17


--------------------
Открыта вакансия Junior Java Developer'а в нашем лондонском офисе, подробнее можно узнать здесь
PM MAIL MSN   Вверх
allex
Дата 4.5.2006, 13:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 59
Регистрация: 5.9.2005

Репутация: нет
Всего: нет



Royan, а как быть если конструктор всегда выкидывет исключения? smile Или автоматически подобрать параметры, когда исключения нет, тяжело? 
PM MAIL   Вверх
unkis
Дата 6.5.2006, 11:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 802
Регистрация: 8.9.2004

Репутация: нет
Всего: 1



Может я не совсем правельно понял вопрос, но может надо посмотреть в сторону Reflection 


--------------------
www.unkis.com
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0592 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.