Perguntas com a marcação «generics»

Meta técnica, que permite adiar a configuração do tipo confiável para o tempo de execução.

49
O que há de errado com os genéricos de Java? [fechadas]

Já vi várias vezes neste site postagens que desacreditam a implementação de genéricos em Java. Agora, posso dizer honestamente que não tive problemas com o uso deles. No entanto, eu não tentei fazer uma classe genérica sozinho. Então, quais são seus problemas com o suporte genérico do...

35
O que é abuso de genéricos?

Ao revisar algum código, notei a oportunidade de alterá-lo para usar genéricos. O código (ofuscado) se parece com: public void DoAllTheThings(Type typeOfTarget, object[] possibleTargets) { var someProperty = typeOfTarget.GetProperty(possibleTargets[0]); ... } Este código pode ser substituído...

29
Um bom sistema de tipos genéricos

É geralmente aceito que os genéricos Java falharam em alguns aspectos importantes. A combinação de curingas e limites levou a algum código seriamente ilegível. No entanto, quando olho para outras linguagens, realmente não consigo encontrar um sistema de tipos genéricos com o qual os programadores...

28
C # Generics - Como evitar o método redundante?

Vamos supor que eu tenha duas classes parecidas com esta (o primeiro bloco de código e o problema geral estão relacionados ao C #): class A { public int IntProperty { get; set; } } class B { public int IntProperty { get; set; } } Essas classes não podem ser alteradas de forma alguma (elas...

20
Genéricos vs interface comum?

Não me lembro de quando escrevi aula genérica da última vez. Toda vez que penso que preciso, depois de pensar um pouco, concluo que não preciso. A segunda resposta a essa pergunta me fez pedir esclarecimentos (como ainda não posso comentar, fiz uma nova pergunta). Então, vamos dar o código...

20
Quem estende as interfaces? E porque?

AFAIK, minha classe extendspai classes e implementsinterfaces. Mas me deparo com uma situação em que não posso usar implements SomeInterface. É a declaração de um tipo genérico. Por exemplo: public interface CallsForGrow {...} public class GrowingArrayList <T implements CallsForGrow> //...

20
Qual é a diferença entre <? estende Foo> e <Foo>

Parece que tenho um mal-entendido sobre a diferença entre <Foo>e <? extends Foo>. Pelo meu entendimento, se tivéssemos ArrayList<Foo> foos = new ArrayList<>(); Isso indica que objetos do tipo Foopodem ser adicionados a essa lista de matrizes. Como as subclasses de...

16
Como os genéricos são implementados?

Esta é a questão da perspectiva interna do compilador. Estou interessado em genéricos, não em modelos (C ++), por isso marquei a pergunta com C #. Não é Java, porque o AFAIK os genéricos nos dois idiomas diferem nas implementações. Quando eu olho para idiomas sem genéricos, é bastante simples,...

13
Scala como idioma para programação genérica

No artigo “Um estudo comparativo estendido de suporte a idiomas para programação genérica” de Garcia et al. é apresentada uma comparação interessante dos recursos das linguagens de programação para programação genérica: com a breve explicação da terminologia: Alguém pode testar o suporte da...