Generics – Item 29

imagesConsidere usar containers heterogêneos

Aplicações de tipos generics funcionam de forma a criar um “container homogêneo” de tipagem parametrizada. Mas existem certas circunstâncias no qual é necessário usar tipos parametrizados generics “heterogêneos”. Para isso aplique abordagem “typesafe heterogeneous container pattern”. Essa abordagem faz o uso de objetos Class<?> como token da tipagem, convertendo os tipos dinamicamente com Class<T>.cast(objeto). Veja um exemplo:

public final class Simple implements Serializable {
  private Map<Class<?>, Object> fieds = new HashMap<Class<?>, Object>();
  public  void set(Class type, T instance) {
    if (type == null) {
       throw new NullPointerException(“Type is null”);
}
fieds.put(type, instance);
}
  public T get(Class type) {
    return type.cast(fieds.get(type));
}
}

Para todas as informações, veja o post inicial.

“Aquele que não ama não conhece a Deus, pois Deus é amor.” 1 João 4:8

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s