Задать вопрос
@vyn

Как правильно скастовать Class к интерфейсу?

Класс Pizza читается из конфигурации и инстанциируется через Class.forName, он имплементирует интерфейс IMeal. Вопрос, собственно, состоит в том как правильно скастовать прочитанный Class к интерфейсу IMeal?

private static IMeal readConfig() {
        Path dependencyPath = Paths.get("gof/src/main/java/resources/config.txt");

        File file = dependencyPath.toFile();
        IMeal IMeal = null;

        try (BufferedReader reader = new BufferedReader(new FileReader(file))) {
            String line = reader.readLine();
            Class mealClass = Class.forName(line);

            IMeal = IMeal.class.cast(mealClass);
        } catch (IOException | ClassNotFoundException e) {
            e.printStackTrace();
        }

        return IMeal;
    }
  • Вопрос задан
  • 84 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы