Pertanyaan yang diberi tag «generics»

Generik adalah bentuk polimorfisme parametrik yang ditemukan dalam berbagai bahasa, termasuk bahasa .NET, Java, Swift, dan Rust.


7
Bagaimana saya bisa menambahkan ke Daftar <? extends Number> struktur data?
Saya memiliki Daftar yang dinyatakan seperti ini: List&lt;? extends Number&gt; foo3 = new ArrayList&lt;Integer&gt;(); Saya mencoba menambahkan 3 ke foo3. Namun saya mendapatkan pesan kesalahan seperti ini: 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)
154 java  generics 



3
C # - Beberapa tipe generik dalam satu daftar
Ini mungkin tidak mungkin, tetapi saya memiliki kelas ini: public class Metadata&lt;DataType&gt; where DataType : struct { private DataType mDataType; } Masih ada lagi, tapi mari kita tetap sederhana. Tipe generik (DataType) terbatas pada tipe nilai dengan pernyataan where. Yang ingin saya lakukan adalah memiliki daftar objek Metadata ini dari …
153 c#  generics 

7
Definisi Java Enum
Saya pikir saya memahami generik Java dengan cukup baik, tetapi kemudian saya menemukan yang berikut di java.lang.Enum: class Enum&lt;E extends Enum&lt;E&gt;&gt; Bisakah seseorang menjelaskan bagaimana menafsirkan parameter tipe ini? Poin bonus untuk memberikan contoh lain di mana parameter tipe yang sama dapat digunakan.
151 java  generics  enums  crtp 

3
Peta Java setara dengan C #
Saya mencoba memegang daftar item dalam koleksi dengan kunci pilihan saya. Di Jawa, saya cukup menggunakan Peta sebagai berikut: class Test { Map&lt;Integer,String&gt; entities; public String getEntity(Integer code) { return this.entities.get(code); } } Apakah ada cara yang setara untuk melakukan ini di C #? System.Collections.Generic.Hashsettidak menggunakan hash dan saya tidak …
150 c#  java  generics  collections 

7
Mengapa Java enum literals seharusnya tidak dapat memiliki parameter tipe generik?
Enum Jawa sangat bagus. Begitu juga obat generik. Tentu saja kita semua tahu keterbatasan dari yang terakhir karena jenis penghapusan. Tetapi ada satu hal yang saya tidak mengerti, Mengapa saya tidak bisa membuat enum seperti ini: public enum MyEnum&lt;T&gt; { LITERAL1&lt;String&gt;, LITERAL2&lt;Integer&gt;, LITERAL3&lt;Object&gt;; } Parameter tipe generik ini &lt;T&gt;pada gilirannya …
148 java  generics  enums 

4
Mengapa contoh tidak mengkompilasi, alias bagaimana varians (co, kontra, dan in-) bekerja?
Sebagai lanjutan dari pertanyaan ini , dapatkah seseorang menjelaskan yang berikut di Scala: class Slot[+T] (var some: T) { // DOES NOT COMPILE // "COVARIANT parameter in CONTRAVARIANT position" } Saya memahami perbedaan antara +Tdan Tdalam deklarasi tipe (ini mengkompilasi jika saya menggunakan T). Tetapi kemudian bagaimana seseorang benar-benar menulis …

9
Apa perbedaan antara <? super E> dan <? memanjang E>?
Apa perbedaan antara &lt;? super E&gt;dan &lt;? extends E&gt;? Misalnya ketika Anda melihat kelas java.util.concurrent.LinkedBlockingQueueada tanda tangan berikut untuk konstruktor: public LinkedBlockingQueue(Collection&lt;? extends E&gt; c) dan satu untuk metode: public int drainTo(Collection&lt;? super E&gt; c)
147 java  generics 

12
Jackson - Deserialize menggunakan kelas generik
Saya memiliki string json, yang harus saya deSerialize ke kelas berikut class Data &lt;T&gt; { int found; Class&lt;T&gt; hits } Bagaimana saya melakukannya? Ini cara yang biasa mapper.readValue(jsonString, Data.class); Tetapi bagaimana saya menyebutkan apa singkatan T?
147 java  json  generics  jackson 

5
Cara meneruskan tipe kelas sebagai parameter fungsi
Saya memiliki fungsi generik yang memanggil layanan web dan membuat serialisasi respons JSON kembali ke objek. 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 */ } Apa yang saya coba capai …


6
Nilai tipe 'T' tidak dapat dikonversi ke
Ini mungkin pertanyaan pemula, tetapi secara mengejutkan google tidak memberikan jawaban. Saya memiliki metode yang agak buatan ini T HowToCast&lt;T&gt;(T t) { if (typeof(T) == typeof(string)) { T newT1 = "some text"; T newT2 = (string)t; } return t; } Berasal dari latar belakang C ++ saya berharap ini berfungsi. …
146 c#  .net  generics  casting 

10
Mengapa Koleksi Java tidak menghapus metode yang umum?
Mengapa Collection.remove (Object o) tidak generik? Sepertinya Collection&lt;E&gt;bisa sajaboolean remove(E o); Kemudian, ketika Anda secara tidak sengaja mencoba untuk menghapus (misalnya) Set&lt;String&gt;alih-alih setiap String individu dari a Collection&lt;String&gt;, itu akan menjadi kesalahan waktu kompilasi alih-alih masalah debugging nanti.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.