Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Не получается newInstance() / 4 сообщений из 4, страница 1 из 1
07.06.2012, 11:37:32
    #37829070
BlackGnomeГуест
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не получается newInstance()
Привет! Я что то не то делаю :) Наобъявлял внутренних классов и пробую сделать экземпляр одного из них, в ошибке просто выдается порлное имя класса и всё
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Object ACTION  = null;

...

   for (Class CURRENT_CLASS : this.getClass().getDeclaredClasses()){
         
         if (CURRENT_CLASS.getSimpleName().toLowerCase().equals(this.ACTION_str.toLowerCase())){
          
         ACTION = CURRENT_CLASS.newInstance();
         
         break;
         
         }
     }
...
Рейтинг: 0 / 0
07.06.2012, 11:41:17
    #37829081
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не получается newInstance()
BlackGnomeГуеств ошибке просто выдается порлное имя класса и всё
Вместо Exception.getMessage() нужно делать Exception.printStackTrace();

Код: java
1.
2.
3.
4.
5.
6.
7.
Object ACTION  = null;
   for (Class CURRENT_CLASS : this.getClass().getDeclaredClasses()){         
         if (CURRENT_CLASS.getSimpleName().toLowerCase().equals(this.ACTION_str.toLowerCase())){          
         ACTION = CURRENT_CLASS.newInstance();         
         break;         
         }
     }


Ознакомьтесь со стандартами кодирования в Java. В Capital Case обзывают только static final поля.
Вместо toLowerCase + equals можно использовть equalsIgnoreCase
Для реестра некоторых классов или объектов удобно эспользовать enum-ы.
...
Рейтинг: 0 / 0
07.06.2012, 12:34:41
    #37829220
BlackGnomeГуест
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не получается newInstance()
BlazkowiczBlackGnomeГуеств ошибке просто выдается порлное имя класса и всё
Вместо Exception.getMessage() нужно делать Exception.printStackTrace();

Код: java
1.
2.
3.
4.
5.
6.
7.
Object ACTION  = null;
   for (Class CURRENT_CLASS : this.getClass().getDeclaredClasses()){         
         if (CURRENT_CLASS.getSimpleName().toLowerCase().equals(this.ACTION_str.toLowerCase())){          
         ACTION = CURRENT_CLASS.newInstance();         
         break;         
         }
     }


Ознакомьтесь со стандартами кодирования в Java. В Capital Case обзывают только static final поля.
Вместо toLowerCase + equals можно использовть equalsIgnoreCase
Для реестра некоторых классов или объектов удобно эспользовать enum-ы.

Ясно, исправлюсь... Но просто хотел понять, может какие то засады с внутренними классами есть?
...
Рейтинг: 0 / 0
07.06.2012, 12:36:05
    #37829224
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не получается newInstance()
Масса засад. Классы статические? Если нормально вывести исключение, то сразу станет ясно в чем проблема. А гадать о том какая именно засада из десятка возможных, по-моему бесполезно.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Не получается newInstance() / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]