Java: создание экземпляра параметризованного класса путем передачи типов в качестве параметра методаJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Гость
 Java: создание экземпляра параметризованного класса путем передачи типов в качестве параметра метода

Сообщение Гость »


Моя проблема в том, что существует общий класс под названием

Код: Выделить всё

TypedProducer
for key and value and I do have to instantiate it from configuration (let's say config tells me during runtime that key is and value is in configuration during runtime but it can be any subtype really) so I don't know the types beforehand.
How can I instantiate

Код: Выделить всё

TypedProducer
by passing parameters? Or even create

Код: Выделить всё

SourceTypedClassProvider
in the first place from objects?

Код: Выделить всё

public class SourceTypedClassProvider {

public static TypedProducer instantiateTypedProducer(
Class keyType, Class valueType) {
//should return instance of TypedProducer
}
}
I know there's something like

Код: Выделить всё

TypeToken
in guava, but would it help me at all in this scenario when types have to be first gotten from configuration?
EDIT:
To be honest

Код: Выделить всё

TypedProducer
implementation shouldn't make a difference (you can treat it as if I were instantiating e.g. a ) but if it makes it easier part of the implementation below:

Код: Выделить всё

public class TypedProducer {
ExternalApiProducer externalApiProducer;

public TypedProducer() {
externalApiProducer = new ExternalApiProducer();
}

public Map produceRecords() {
//some code that calls externalApiProducer to produce records
}
}


Источник: https://stackoverflow.com/questions/781 ... -parameter
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»