Articles of genérico

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 […]

Quando usar methods genéricos e quando usar o curinga?

Eu estou lendo sobre methods genéricos do OracleDocGenericMethod . Estou muito confuso sobre a comparação quando diz quando usar o curinga e quando usar methods genéricos. Citando o documento. interface Collection { public boolean containsAll(Collection c); public boolean addAll(Collection c); } Poderíamos ter usado methods genéricos aqui em vez disso: interface Collection { public boolean […]

Como remover elementos de uma lista genérica enquanto iterar sobre ele?

Eu estou procurando um padrão melhor para trabalhar com uma lista de elementos que precisam ser processados ​​e, em seguida, dependendo do resultado são removidos da lista. Você não pode usar .Remove(element) dentro de um foreach (var element in X) (porque resulta em Collection was modified; enumeration operation may not execute. Exceção) … você também […]

Por que Java Generics não suporta tipos primitivos?

Por que os genéricos em Java funcionam com classs, mas não com tipos primitivos? Por exemplo, isso funciona bem: List foo = new ArrayList(); mas isso não é permitido: List bar = new ArrayList();