Declaração de Map<Class<T>, Collection<T> >  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
sergiotaborda
GUJ Expert
[Avatar]

Membro desde: 22/03/2005 20:57:48
Mensagens: 3433
Offline

Alguém sabe como declarar um atributo do tipo Map<Class<T>, Collection<T> > ?

A ideia é vincular a classe com o conteudo do collection mas sem que a classe onde o atributo eiste seja generica.Mas o compilador acusa um "T not defined"

Tem como fazer isto ?

Criando sua própria API de Validação



Blog do MiddleHeaven
[WWW]
rodrigolufer
HelloWorld

Membro desde: 30/11/2007 15:27:58
Mensagens: 10
Offline

Olá Sergio,

Não sei se entendi direito, mas basta fazerr assim que o compilador passa.



Não sei se ajudei!

Abraço

Rodrigo Luiz Ferreira
[MSN]
Paulo Silveira
Administrador
[Avatar]

Membro desde: 07/08/2002 18:38:50
Mensagens: 4204
Localização: São Paulo
Offline

ou esse T precisa ser explicitamente uma classe, ou voce precisa ter declarado o T como tipo parametrizado da sua classe, dona desse atributo:



This message was edited 1 time. Last update was at 09/03/2008 14:39:18


http://blog.caelum.com.br twitter: @paulo_caelum


[Email] [WWW]
sergiotaborda
GUJ Expert
[Avatar]

Membro desde: 22/03/2005 20:57:48
Mensagens: 3433
Offline

O problema é exatamente esse: não quero que a classe seja parameterizada. Isso não faz sentido.
Eu só quero manter uma coerência entre os atributos do mapa. O ? funciona mas não mantém a coerencia (é o mesmo que colocar Object).

Acho que não tem solução da forma que eu queria. Têm que usar ? e cast.

Criando sua própria API de Validação



Blog do MiddleHeaven
[WWW]
Marky.Vasconcelos
Moderador
[Avatar]

Membro desde: 11/04/2007 18:18:20
Mensagens: 5932
Localização: São Paulo/SP
Offline

Assim


Facebook @MarkyHitchhiker +Mark WP: MarkyTech's

Projects:
Android Roadmap - Aprenda Android do inicio (Java é o unico pre-requisito)
Towel ( ObjectTableModel & Swing & Utils )
Tower Defense Game - Java2D [Open-Source] [How-to-play]
EVGD: Programação de jogos (links) Ponto V! - Desenvolvimento de jogos para indies, curiosos e profissionais

DefaultTableModel?! PARE! Não faça isso! Faça melhor!

Dicas: Faça perguntas inteligentes! ; MigLayout ; GridBagLayout (Joke)

Develop games is fantastic, with words you can make worlds!!!

DON'T PANIC!
MarkyHitchhiker's Blog!
[WWW] [MSN]
sergiotaborda
GUJ Expert
[Avatar]

Membro desde: 22/03/2005 20:57:48
Mensagens: 3433
Offline

Mark_Ameba wrote:Assim



Como eu disse... o objetivo é definir um atributo desse tipo. Ou seja, uma variável interna da classe.

Criando sua própria API de Validação



Blog do MiddleHeaven
[WWW]
peczenyj
Moderador
[Avatar]

Membro desde: 26/03/2006 23:25:37
Mensagens: 3191
Localização: Rio de Janeiro
Offline

Por exemplo, pelo seu exemplo vc gostaria de mapear uma classe a uma collection que possui objetos desta mesma classe, é isso?

Em um Map<K,V> vc tem método get que recebe um object, e um put que é parametrizado, ai vc teria algo mais restritivo, imagino eu, pois o K e o V tem uma relação intrinseca. Não vejo no mecanismo de generics vc conseguir criar esse vinculo sem fixar o parâmetro T.

http://pacman.blog.br

'Não importa quanto alguém se dedique à tarefa. Ninguém consegue fazer a água da cascata cair para cima.'
[WWW]
sergiotaborda
GUJ Expert
[Avatar]

Membro desde: 22/03/2005 20:57:48
Mensagens: 3433
Offline

peczenyj wrote:Por exemplo, pelo seu exemplo vc gostaria de mapear uma classe a uma collection que possui objetos desta mesma classe, é isso?

Em um Map<K,V> vc tem método get que recebe um object, e um put que é parametrizado, ai vc teria algo mais restritivo, imagino eu, pois o K e o V tem uma relação intrinseca. Não vejo no mecanismo de generics vc conseguir criar esse vinculo sem fixar o parâmetro T.


É. Realmente a solução é usar um mapa mais generico e um método que force a relação.

Criando sua própria API de Validação



Blog do MiddleHeaven
[WWW]
peczenyj
Moderador
[Avatar]

Membro desde: 26/03/2006 23:25:37
Mensagens: 3191
Localização: Rio de Janeiro
Offline

Vc não poderia criar o seu próprio Map com esta restrição?

http://pacman.blog.br

'Não importa quanto alguém se dedique à tarefa. Ninguém consegue fazer a água da cascata cair para cima.'
[WWW]
sergiotaborda
GUJ Expert
[Avatar]

Membro desde: 22/03/2005 20:57:48
Mensagens: 3433
Offline

peczenyj wrote:Vc não poderia criar o seu próprio Map com esta restrição?


Humm... não tinha pensado nisso. É que eu não queria criar uma classe só por isso (isso cai no negocio de criar uma classe generalizada), mas é uma boa ideia. Acho que com isso resolve da forma mais fortemente tipada.

Criando sua própria API de Validação



Blog do MiddleHeaven
[WWW]
antobiobf
What is classpath?

Membro desde: 07/01/2011 11:57:38
Mensagens: 7
Offline

Eu tenho uma classe java que tem um atributo:

-> private Collection<GrupoIdentificador> grupos;

Eu quero mapear ele em uma classe .as como declararia uma variável para que eu possa usar ele no flex?

Obrigado
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team