Domande taggate «generics»

I generici sono una forma di polimorfismo parametrico che si trova in una vasta gamma di lingue, inclusi i linguaggi .NET, Java, Swift e Rust.

7
Come posso aggiungere all'elenco <? estende Numero> strutture dati?
Ho un elenco che è dichiarato così: List&lt;? extends Number&gt; foo3 = new ArrayList&lt;Integer&gt;(); Ho provato ad aggiungere 3 a foo3. Tuttavia ricevo un messaggio di errore come questo: The method add(capture#1-of ? extends Number) in the type List&lt;capture#1-of ? extends Number&gt; is not applicable for the arguments (ExtendsNumber)
155 java  generics 




3
C #: più tipi generici in un elenco
Questo probabilmente non è possibile, ma ho questa classe: public class Metadata&lt;DataType&gt; where DataType : struct { private DataType mDataType; } C'è di più, ma manteniamolo semplice. Il tipo generico (DataType) è limitato ai tipi di valore dall'istruzione where. Quello che voglio fare è avere un elenco di questi oggetti …
153 c#  generics 

7
Definizione di Java Enum
Pensavo di aver capito abbastanza bene i generici Java, ma poi mi sono imbattuto in java.lang.Enum: class Enum&lt;E extends Enum&lt;E&gt;&gt; Qualcuno potrebbe spiegare come interpretare questo parametro di tipo? Punti bonus per fornire altri esempi di dove potrebbe essere utilizzato un parametro di tipo simile.
151 java  generics  enums  crtp 

3
Java Map equivalente in C #
Sto cercando di tenere un elenco di elementi in una raccolta con una chiave di mia scelta. In Java, userò semplicemente Map come segue: class Test { Map&lt;Integer,String&gt; entities; public String getEntity(Integer code) { return this.entities.get(code); } } Esiste un modo equivalente per farlo in C #? System.Collections.Generic.Hashsetnon usa l'hash …
150 c#  java  generics  collections 



9
Qual è la differenza tra <? super E> e <? estende E>?
Qual è la differenza tra &lt;? super E&gt;e &lt;? extends E&gt;? Ad esempio, quando dai un'occhiata alla classe java.util.concurrent.LinkedBlockingQueuec'è la seguente firma per il costruttore: public LinkedBlockingQueue(Collection&lt;? extends E&gt; c) e per uno per il metodo: public int drainTo(Collection&lt;? super E&gt; c)
147 java  generics 


5
Come passare un tipo di classe come parametro di funzione
Ho una funzione generica che chiama un servizio Web e serializza la risposta JSON su un oggetto. class func invokeService&lt;T&gt;(service: String, withParams params: Dictionary&lt;String, String&gt;, returningClass: AnyClass, completionHandler handler: ((T) -&gt; ())) { /* Construct the URL, call the service and parse the response */ } Quello che sto cercando …


6
Il valore di tipo 'T' non può essere convertito in
Questa è probabilmente una domanda per principianti, ma sorprendentemente Google non ha fornito una risposta. Ho questo metodo piuttosto artificiale T HowToCast&lt;T&gt;(T t) { if (typeof(T) == typeof(string)) { T newT1 = "some text"; T newT2 = (string)t; } return t; } Proveniente da un background C ++, mi aspettavo …
146 c#  .net  generics  casting 

10
Perché le raccolte Java non rimuovono i metodi generici?
Perché Collection.remove (Object o) non è generico? Sembra che Collection&lt;E&gt;avrebbe potutoboolean remove(E o); Quindi, quando si tenta di rimuovere accidentalmente (ad esempio) Set&lt;String&gt;invece di ogni singola stringa da a Collection&lt;String&gt;, si tratterebbe di un errore di compilazione anziché di un problema di debug in un secondo momento.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.