Articles of genérico

Único DAO e methods CRUD genéricos (JPA / Hibernate + Spring)

Seguindo minha pergunta anterior, camadas DAO e Service (JPA / Hibernate + Spring) , decidi usar apenas um único DAO para minha camada de dados (pelo menos no início) em um aplicativo usando JPA / Hibernate, Spring e Wicket. O uso de methods CRUD genéricos foi proposto, mas não estou muito certo de como implementar […]

Listas com curingas causam erro voodoo genérico

Alguém sabe porque o código a seguir não compila? Nem add () nem addAll () funciona como esperado. Remover a parte “? Extends” faz tudo funcionar, mas eu não seria capaz de adicionar subclasss de Foo. List list1 = new ArrayList(); List list2 = new ArrayList(); /* Won’t compile */ list2.add( new Foo() ); //error […]

Por que você não pode ter várias interfaces em um curinga genérico limitado?

Eu sei que existem todos os tipos de propriedades contra-intuitivas dos tipos genéricos do Java. Aqui está uma em particular que eu não entendo e que espero que alguém possa me explicar. Ao especificar um parâmetro de tipo para uma class ou interface, você pode vinculá-lo para que ele implemente várias interfaces com public class […]

Java Wildcards WildCard Pergunta: Listar

Digamos que eu tenha estas classs: Veículo, Carro e Nave Espacial: class Vehicle{ void rideVehicle(Vehicle v){ System.out.println(“I am riding a vehicle!”); } } class Car extends Vehicle{ void rideVehicle(Vehicle c){ System.out.println(“I am riding a car!”); } } class SpaceShip extends Vehicle{ void rideVehicle(Vehicle c){ System.out.println(“I am riding a spaceship!”); } } e eu escrevo este […]

Como determinar se uma lista é classificada em Java?

Eu gostaria de um método que leva um List onde T implementa Comparable e retorna true ou false dependendo se a lista está classificada ou não. Qual é a melhor maneira de implementar isso em Java? É óbvio que os genéricos e curingas são feitos para serem capazes de lidar com essas coisas com facilidade, […]

C #: Imprimindo todas as propriedades de um object

Existe um método embutido no .NET que pode gravar todas as propriedades e tal de um object para o console? Poderia fazer um usando reflection, é claro, mas estou curioso para saber se isso já existe … especialmente desde que você pode fazê-lo no Visual Studio na janela Immediate. Lá você pode um nome de […]

Restrição genérica para combinar tipos numéricos

Eu estou tentando escrever um método de extensão em tipos numéricos para ser usado em uma estrutura de teste fluente que estou construindo. Basicamente, quero fazer isso: public static ShouldBeGreaterThan(this T actual, T expected, string message) where T : int || T: double || etc… Apenas where T : struct não faz, desde que também […]

Classe genérica estática como dictionary

Um campo estático em uma class genérica terá um valor separado para cada combinação de parâmetros genéricos. Portanto, ele pode ser usado como um Dictionary <Type, whatever > Isso é melhor ou pior que um Dictionary <Type, whatever > estático? Em outras palavras, qual dessas implementações é mais eficiente? public static class MethodGen { public […]

Diferença entre o tipo genérico e o tipo curinga

Eu sou um novato em genéricos e minha pergunta é: que diferença entre duas funções: function 1: public static void funct1 (List list1) { } function 2: public static void funct2(List list) { } Obrigado.

Combinando Tipos Brutos e Métodos Genéricos

Aqui está uma pergunta, esta primeira listview de código compila muito bem (JDK 1.6 | JDK 1.7): ArrayList a = new ArrayList(); String[] s = a.toArray(new String[0]); No entanto, se eu declarar a referência de List como um tipo bruto: ArrayList a = new ArrayList(); String[] s = a.toArray(new String[0]); Eu recebo um erro do […]