«generics» etiketlenmiş sorular

Jenerikler, .NET dilleri, Java, Swift ve Rust gibi çeşitli dillerde bulunan bir tür parametrik polimorfizmdir.

5
?: Koşullu İşleç ile boş değer türü sorunu
Birisi bunun neden C # .NET 2.0 çalıştığını açıklayabilir: Nullable<DateTime> foo; if (true) foo = null; else foo = new DateTime(0); ... ama bu yapmaz: Nullable<DateTime> foo; foo = true ? null : new DateTime(0); İkinci form bana derleme hatası veriyor 'Koşullu ifade türü belirlenemiyor çünkü' <null> 've' System.DateTime 'arasında …

7
Listeye <nasıl ekleyebilirim? Sayı> veri yapılarını genişletir?
Ben böyle ilan bir listesi var: List&lt;? extends Number&gt; foo3 = new ArrayList&lt;Integer&gt;(); Foo3'e 3 eklemeye çalıştım. Ancak böyle bir hata mesajı alıyorum: 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 


8
“Varargs parametresi için genel bir T dizisi oluşturuldu” derleyici uyarısını çözmek mümkün müdür?
Bu, söz konusu kodun basitleştirilmiş bir sürümüdür, bir genel sınıf genel tür parametreleriyle başka bir sınıf kullanır ve genel türlerden birini varargs parametreleri içeren bir yönteme geçirmesi gerekir: class Assembler&lt;X, Y&gt; { void assemble(X container, Y... args) { ... } } class Component&lt;T&gt; { void useAssembler(T something) { Assembler&lt;String, T&gt; …
153 java  generics 

3
Bir listede birden çok genel tür
Bu muhtemelen mümkün değil, ama bu sınıf var: public class Metadata&lt;DataType&gt; where DataType : struct { private DataType mDataType; } Daha fazlası var, ama basit tutalım. Genel tür (DataType) where deyimi tarafından değer türleriyle sınırlıdır. Ne yapmak istiyorum bu metadata nesnelerin değişen türleri (DataType) bir listesi var. Gibi: List&lt;Metadata&gt; metadataObjects; …
153 c#  generics 

7
Java sabit değerleri neden genel tür parametrelerine sahip olmamalı?
Java numaralandırmaları harika. Jenerikler de öyle. Elbette hepimiz tür silme nedeniyle ikincisinin sınırlamalarını biliyoruz. Ama anlamadığım bir şey var, Neden böyle bir sıralama oluşturamıyorum: public enum MyEnum&lt;T&gt; { LITERAL1&lt;String&gt;, LITERAL2&lt;Integer&gt;, LITERAL3&lt;Object&gt;; } Bu genel tip parametresi &lt;T&gt;daha sonra çeşitli yerlerde yararlı olabilir. Bir yöntem için genel bir tür parametresi düşünün: …
152 java  generics  enums 

7
Java Numaralandırma tanımı
Java jeneriklerini oldukça iyi anladığımı düşündüm, ama sonra java.lang.Enum'da aşağıdakilere rastladım: class Enum&lt;E extends Enum&lt;E&gt;&gt; Birisi bu tür parametrenin nasıl yorumlanacağını açıklayabilir mi? Benzer bir tip parametresinin nerede kullanılabileceğine dair başka örnekler sağlamak için bonus puanlar.
151 java  generics  enums  crtp 

6
'T' türünün değeri dönüştürülemez
Bu muhtemelen acemi bir sorudur, ancak Google şaşırtıcı bir şekilde bir cevap vermedi. Bu oldukça yapay bir yöntemim var T HowToCast&lt;T&gt;(T t) { if (typeof(T) == typeof(string)) { T newT1 = "some text"; T newT2 = (string)t; } return t; } C ++ arka planından gelince, bunun işe yaramasını bekliyordum. …
151 c#  .net  generics  casting 

3
C # 'da Java Harita eşdeğeri
Seçtiğim bir anahtarla bir koleksiyondaki öğelerin listesini tutmaya çalışıyorum. Java, ben sadece Harita aşağıdaki gibi kullanabilirsiniz: class Test { Map&lt;Integer,String&gt; entities; public String getEntity(Integer code) { return this.entities.get(code); } } Bunu C # ile eşdeğer bir yolu var mı? System.Collections.Generic.Hashsetkarma kullanmıyor ve özel bir tür anahtarı tanımlayamıyorum System.Collections.Hashtable, genel bir …
150 c#  java  generics  collections 

6
Bir sınıf türü bir işlev parametresi olarak nasıl iletilir
Bir web hizmetini çağıran ve JSON yanıtını bir nesneye geri serileştiren genel bir işlevim var. 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 */ } Başarmaya çalıştığım şey, bu Java kodunun …


9
<Arasındaki fark nedir? süper E> ve <? E>?
Arasındaki fark nedir &lt;? super E&gt;ve &lt;? extends E&gt;? Örneğin, sınıfa baktığınızda java.util.concurrent.LinkedBlockingQueue, kurucu için aşağıdaki imza vardır: public LinkedBlockingQueue(Collection&lt;? extends E&gt; c) ve biri için yöntem: public int drainTo(Collection&lt;? super E&gt; c)
147 java  generics 


5
Java neden Throwable'ın jenerik alt sınıflarına izin vermiyor?
Göre Java Dil Sepecification , 3rd edition: Genel bir sınıfın doğrudan veya dolaylı bir alt sınıfı olması, derleme zamanı hatasıdır Throwable. Bu kararın neden verildiğini anlamak isterim. Genel istisnaların nesi yanlış? (Bildiğim kadarıyla, jenerikler basitçe derleme zamanı sözdizimsel şekerlerdir ve dosyalarda Objectyine de tercüme edilecekler .class, o kadar etkili bir …

11
Genel sınıfta type parametresinden yeni bir nesne oluşturma
Genel sınıfta bir type parametresi yeni bir nesne oluşturmaya çalışıyorum. Benim sınıfımda View, ben tür parametreleri olarak geçirilen Jenerik türden nesnelerin 2 listeleri var, ama marka çalıştığınızda new TGridView(), typescript diyor ki: 'TGridView sembolü bulunamadı Bu kod: module AppFW { // Represents a view export class View&lt;TFormView extends FormView, TGridView …

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.