Tipos abstratos inseridos em tempo de execução

Bom, primeiramente obrigado antecipadamente se alguem responder.

To com um probleminha aqui no uso de tipo generico.

Resumidamente:

Meu programa vai ter uma entrada (JOptionPane) onde o usuário vai digitar um tipo do java (Integer, String, etc).
Em seguida, quero criar uma List tipada com esse tipo digitado pelo usuário.

Obs.: A verificação se a classe digitada é ou não válida será feita pelo java.lang.reflect.*

Vamos ao “codigo exemplo” (ou quase isso xD)

[code]public static void main(String[] args) {

	Object tipo = JOptionPane.showInputDialog("Digite um tipo...");
	List<tipo> l = new List(); //<-- Essa linha não vai compilar inicialmente...		
	
}[/code]

Bom, estou aberto a sugestões. Esse problema consegui resolver em C#, mais Java não faço ideia se é possivel.

Não entendi muito bem, mas…

Pq vc não faz sua lista do tipo List ?

Se o que a pessoa vai estar entrando é uma String vc pode fazer List.

Se vc quer ter uma de cada tipo, vc terá que fazer muuuito if else! [=

Daria pra fazer isso sim, mais a idéia é usar reflect pra evitar os if…else, e não usar Object pra ver a potência do Java nesses casos.

EDIT:

[code]public static void main(String[] args) {

	Object tipo = JOptionPane.showInputDialog("Digite um tipo...");
	
	Class c;
	try{
		c = Class.forName((String)tipo);
	}catch(Exception e){
		e.printStackTrace();
	}
	
	List<c> l = new List<c>();
}[/code]

Eis a duvida…
Ele não me deixa passar nem objeto, nem classe, nem instância de classe, nem absolutamente nada que consigo usar da classe reflect…

O q vc quer fazer é impossível! Se vc tem uma lista tipada e tipo é determinado apenas em runtime, como vc pretende criar variáveis p/ lidar com essas informações? Tipo Object?? Nesse caso a sua List poderia ser de Objects. Ademais, não tem um meio de vc criar um List de tipo determinado em runtime, Java é staticamente tipado. As informações de tipo devem estar presentes em tempo de compilação. Talvez vc consiga fazer o q vc quer usando uma linguagem de tipagem dinâmica como Python ou Ruby.

Exatamente,

Na declaração de um Generic você não pode passar uma referência à um objeto, e sim uma classe.

Isso ocorre por Java ser tipificada estaticamente.