Pytania otagowane jako generics

Generics to forma parametrycznego polimorfizmu występująca w wielu językach, w tym w językach .NET, Java, Swift i Rust.

6
Co oznacza znak zapytania w parametrze typu generics Java?
Jest to mały fragment kodu wzięty z niektórych przykładów towarzyszących parserowi Stanforda. Zajmuję się programowaniem w Javie od około 4 lat, ale nigdy nie bardzo dobrze rozumiałem, co powinien wskazywać ten styl kodu. List<? extends HasWord> wordList = toke.tokenize(); Nie martwię się o szczegóły kodu. To, co mnie dezorientuje, to …
216 java  generics 

3
Typ musi być typem odniesienia, aby można go było używać jako parametru „T” w typie lub metodzie ogólnej
Zagłębiam się w generyczne i teraz mam sytuację, w której potrzebuję pomocy. Otrzymuję błąd kompilacji w poniższej klasie „Derived”, jak pokazano w tytule tematu. Widzę wiele innych postów podobnych do tego, ale nie widzę związku. Czy ktoś może mi powiedzieć, jak to rozwiązać? using System; using System.Collections.Generic; namespace Example { …
211 c#  generics 


7
Kiedy ogólne elementy Java wymagają <? rozszerza T> zamiast <T> i czy jest jakaś wada przełączania?
Biorąc pod uwagę następujący przykład (użycie JUnit z dopasowaniami 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)); Nie kompiluje się z assertThatsygnaturą metody JUnit : public static &lt;T&gt; void assertThat(T actual, Matcher&lt;T&gt; matcher) Komunikat o błędzie kompilatora to: Error:Error:line (102)cannot find symbol method …
205 java  generics  junit 


7
Jak odwoływać się do klas ogólnych i metod w dokumentacji XML
Podczas pisania dokumentacji XML można użyć &lt;see cref="something"&gt;something&lt;/see&gt;, co oczywiście działa. Ale w jaki sposób odwołujesz się do klasy lub metody z typami rodzajowymi? public class FancyClass&lt;T&gt; { public string FancyMethod&lt;K&gt;(T value) { return "something fancy"; } } Gdybym miał gdzieś napisać dokumentację XML, jak miałbym odwoływać się do tej …

11
Metoda statyczna w klasie ogólnej?
W Javie chciałbym mieć coś takiego: class Clazz&lt;T&gt; { static void doIt(T object) { // ... } } Ale rozumiem Nie można dokonać statycznego odniesienia do niestatycznego typu T. Nie rozumiem leków generycznych poza podstawowymi zastosowaniami, a zatem nie mam większego sensu. Nie pomaga to, że nie byłem w stanie …

23
Ogólny TryParse
Próbuję utworzyć ogólne rozszerzenie, które używa „TryParse”, aby sprawdzić, czy łańcuch jest danego typu: public static bool Is&lt;T&gt;(this string input) { T notUsed; return T.TryParse(input, out notUsed); } to się nie skompiluje, ponieważ nie może rozwiązać symbolu „TryParse” Jak rozumiem, „TryParse” nie jest częścią żadnego interfejsu. Czy to w ogóle …
196 c#  generics  tryparse 

10
Różnica między listą, listą <?>, Listą <T>, listą <E> i listą <Obiekt>
Jakie są różnice między List, List&lt;?&gt;, List&lt;T&gt;, List&lt;E&gt;, i List&lt;Object&gt;? 1. Lista List: jest typem surowym, dlatego nie typesafe. Wygeneruje błąd czasu wykonywania tylko wtedy, gdy rzutowanie jest złe. Chcemy błędu czasu kompilacji, gdy rzutowanie jest złe. Nie zaleca się używania. 2. Lista &lt;?&gt; List&lt;?&gt;jest nieograniczonym znakiem wieloznacznym. Ale nie …
194 java  generics 

13
Wydajność tablic vs. list
Powiedzmy, że musisz mieć listę / tablicę liczb całkowitych, które potrzebujesz iterować często, a mam na myśli bardzo często. Przyczyny mogą być różne, ale powiedzmy, że jest to sedno najbardziej wewnętrznej pętli przetwarzania o dużej objętości. Ogólnie rzecz biorąc, można by zdecydować się na korzystanie z list (list) ze względu …

8
Java: jak uzyskać literał klasy od typu ogólnego?
Zazwyczaj widziałem, jak ludzie używają literału klasowego w następujący sposób: Class&lt;Foo&gt; cls = Foo.class; Ale co, jeśli typ jest ogólny, np. Lista? Działa to dobrze, ale ma ostrzeżenie, ponieważ Listę należy sparametryzować: Class&lt;List&gt; cls = List.class Dlaczego więc nie dodać &lt;?&gt;? To powoduje błąd niedopasowania typu: Class&lt;List&lt;?&gt;&gt; cls = List.class …
193 java  generics  class  literals 



6
Przekaż instancyjny System.Type jako parametr typu dla klasy ogólnej
Tytuł jest niejasny. Chcę wiedzieć, czy jest to możliwe: string typeName = &lt;read type name from somwhere&gt;; Type myType = Type.GetType(typeName); MyGenericClass&lt;myType&gt; myGenericClass = new MyGenericClass&lt;myType&gt;(); Oczywiście MyGenericClass jest opisany jako: public class MyGenericClass&lt;T&gt; W tej chwili kompilator narzeka, że ​​„Nie można znaleźć typu lub przestrzeni nazw„ myType ”.” Musi …
182 c#  .net  generics 

4
Jak ustawić statyczną metodę Java Generic?
Poniżej znajduje się fragment pokazujący, jak utworzyć klasę ogólną java, aby dołączyć pojedynczy element do tablicy. Jak mogę uczynić appendToArray metodą statyczną. Dodanie wartości statycznej do podpisu metody powoduje błędy kompilacji. public class ArrayUtils&lt;E&gt; { public E[] appendToArray(E[] array, E item) { E[] result = (E[])new Object[array.length+1]; result[array.length] = item; …
172 java  generics 

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.