Duvida no uso de Generic?

Olá,

duvida no uso ?

para que serve e tb tem o super usado ???

no exemplo abaixo o que posso usar fora null
string,Integer,Boolean deu erro ???


Set<?> ss = new	LinkedHashSet();
		ss.add(null);
		ss.add("false");
		ss.add(20);

The method add(capture#2-of ?) in the type Set<capture#2-of ?> is not applicable for the 
 arguments (String)

Pensa no seguinte:
O generic permite alem do valor do parametro o tipo do parametro
isso é muito utilizado para fazer DAOs!!!

//exemplinho bobo voce cria um metodo cadastrar podendo passar que objeto voce quer cadastrar
//e o tipo desse objeto

public <T>void cadastrar (T tipo)
{
     sesssion.save(tipo);
}