Preguntas etiquetadas con generics

Los genéricos son una forma de polimorfismo paramétrico que se encuentra en una variedad de lenguajes, incluidos los lenguajes .NET, Java, Swift y Rust.




7
¿Cuándo requieren los genéricos de Java <? extiende T> en lugar de <T> y ¿hay alguna desventaja de cambiar?
Dado el siguiente ejemplo (usando JUnit con los emparejadores Hamcrest): Map&lt;String, Class&lt;? extends Serializable&gt;&gt; expected = null; Map&lt;String, Class&lt;java.util.Date&gt;&gt; result = null; assertThat(result, is(expected)); Esto no se compila con la assertThatfirma del método JUnit de: public static &lt;T&gt; void assertThat(T actual, Matcher&lt;T&gt; matcher) El mensaje de error del compilador es: …
205 java  generics  junit 

13
¿Cuáles son las diferencias entre los genéricos en C # y Java ... y las plantillas en C ++? [cerrado]
Cerrada . Esta pregunta necesita estar más centrada . Actualmente no está aceptando respuestas. Cerrado hace 6 años . Bloqueado . Esta pregunta y sus respuestas están bloqueadas porque la pregunta está fuera de tema pero tiene un significado histórico. Actualmente no está aceptando nuevas respuestas o interacciones. Principalmente uso …
203 c#  java  c++  generics  templates 

7
Cómo hacer referencia a clases y métodos genéricos en la documentación xml
Al escribir documentación xml puede usar &lt;see cref="something"&gt;something&lt;/see&gt;, lo que funciona, por supuesto. Pero, ¿cómo hace referencia a una clase o un método con tipos genéricos? public class FancyClass&lt;T&gt; { public string FancyMethod&lt;K&gt;(T value) { return "something fancy"; } } Si iba a escribir documentación xml en alguna parte, ¿cómo …

11
Método estático en una clase genérica?
En Java, me gustaría tener algo como: class Clazz&lt;T&gt; { static void doIt(T object) { // ... } } Pero consigo No se puede hacer una referencia estática al tipo T no estático No entiendo los genéricos más allá de los usos básicos y, por lo tanto, no tiene mucho …

23
Genérico TryParse
Estoy tratando de crear una extensión genérica que use 'TryParse' para verificar si una cadena es de un tipo dado: public static bool Is&lt;T&gt;(this string input) { T notUsed; return T.TryParse(input, out notUsed); } esto no se compilará ya que no puede resolver el símbolo 'TryParse' Según tengo entendido, 'TryParse' …
196 c#  generics  tryparse 

10
Diferencia entre Lista, Lista <?>, Lista <T>, Lista <E> y Lista <Objeto>
¿Cuáles son las diferencias entre List, List&lt;?&gt;, List&lt;T&gt;, List&lt;E&gt;, y List&lt;Object&gt;? 1. Lista List: es un tipo sin formato, por lo tanto no typesafe. Solo generará un error de tiempo de ejecución cuando el casting sea malo. Queremos un error de tiempo de compilación cuando el reparto es malo. No …
194 java  generics 


13
Rendimiento de matrices frente a listas
Digamos que necesita tener una lista / matriz de enteros que necesita iterar con frecuencia, y me refiero con mucha frecuencia. Las razones pueden variar, pero digamos que está en el corazón del bucle más interno de un procesamiento de alto volumen. En general, uno optaría por usar Listas (Lista) …



6
Pase un sistema instanciado. Escriba como parámetro de tipo para una clase genérica
El título es un poco oscuro. Lo que quiero saber es si esto es posible: string typeName = &lt;read type name from somwhere&gt;; Type myType = Type.GetType(typeName); MyGenericClass&lt;myType&gt; myGenericClass = new MyGenericClass&lt;myType&gt;(); Obviamente, MyGenericClass se describe como: public class MyGenericClass&lt;T&gt; En este momento, el compilador se queja de que 'El …
182 c#  .net  generics 

4
¿Cómo hacer que un método genérico de Java sea estático?
El siguiente es un fragmento sobre cómo hacer que una clase genérica de Java agregue un solo elemento a una matriz. ¿Cómo puedo hacer appendToArray un método estático? Agregar estática a la firma del método da como resultado errores de compilación. public class ArrayUtils&lt;E&gt; { public E[] appendToArray(E[] array, E …
173 java  generics 

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.