Member 13804473 Ответов: 1

Системном.из.код println( класс.forname (пакет".привет")) А "класса Здравствуйте" ?



Class<?> clsname = class.forname("package.hello");
Системы.из.код println(clsname);


выход:
Ява.яз.NoSuchMethodException:

класс привет

Что я уже пробовал:

переполнение стека
я открыл около 50-60 веб-сайтов , но ни один из них не показал мне подходящего ответа

1 Ответов

Рейтинг:
1

Richard MacCutchan

Имя метода пишется по буквам forName[^]. Пожалуйста, проверьте документацию на наличие простых ошибок, подобных этой.


Maciej Los

5ed!

Member 13804473

можете ли вы пожалуйста помочь мне у меня есть та же ошибка даже после использования forName

Richard MacCutchan

Я только что попробовал подобный тест, и он отлично работает.

Member 13804473

Я использовал его много раз, но я не понимаю, почему я получаю эту ошибку сейчас.

Member 13804473

#Ричард MacCutchan я использовал forName в вопросе я написал это неправильно, та же ошибка все еще существует.

Richard MacCutchan

Пожалуйста, отредактируйте свой вопрос и покажите точный код, который вы используете, и показать, в какой строке возникает ошибка. Используйте копирование и вставку, чтобы не перепутать его.

Member 13804473

Это мой код.:

Строка currentClassNames[] = {"excelExportAndFileIO.Логин","excelExportAndFileIO.Выход из системы"};
Системы.из.код println(массивов.метод toString(currentClassNames));
for(int l=0;l<currentClassNames.длина;l++) {
пробовать {

Clsname класс = класс.forName(currentClassNames[л]);


Системы.из.код println(clsname);

Строка s =таблице значений.получить( "имя")+","+таблице значений.получить( "пароль")+","+таблице значений.получить( "адрес")+","+таблице значений.вам( "путь_к_файлу")+таблице значений.вам("на");

если(currentClassNames[к]."равно" ("excelExportAndFileIO.Выход из системы")) {
Thread.sleep(3000);
System.out.println("1111");
Конструктор<?> ctor1 = clsname.getConstructor(WebDriver.class);
Object object1 = ctor1.newInstance(новый объект[] {драйвер});

}
еще {
System.out.println("привет");
Конструктор<?> ctor1 =clsname.getConstructor(WebDriver.class,Map.class);
Системы.из.код println(ctor1);
Object object1 = ctor1.newInstance(новый объект[] {драйвер,карта значений});
}
}
catch(исключение e1) {
Системы.из.код println(Е1);
продолжить;
}

}


конец кода:

если я напечатаю clsname:
я получаю результат:

класс excelExportAndFileIO.Авторизоваться

где мне нужен только вывод как:

excelExportAndFileIO.Авторизоваться

Richard MacCutchan

Измените свой println команда так что она не принимает значения по умолчанию ToString() результат. Получите фактическое имя элемента(ов) из объекта класса (Подробнее см. ссылку, которую я дал вам выше).

Member 13804473

хорошо, я проверю это. Спасибо

Member 13804473

ошибка находится в 5 - й и 6-й строках кода.