Użyłem słowa kluczowego „select” i metody rozszerzenia, aby zwrócić za IEnumerable<T>pomocą LINQ, ale muszę zwrócić typ ogólny Dictionary<T1, T2>i nie mogę tego rozgryźć. W przykładzie, którego się tego nauczyłem, użyłem czegoś w formie podobnej do poniższej: IEnumerable<T> coll = from x in y select new SomeClass{ prop1 = value1, prop2 …
To jest prawdziwy przykład z interfejsu API biblioteki innej firmy, ale uproszczony. Skompilowano za pomocą Oracle JDK 8u72 Rozważ te dwie metody: <X extends CharSequence> X getCharSequence() { return (X) "hello"; } <X extends String> X getString() { return (X) "hello"; } Obaj zgłaszają ostrzeżenie o „niesprawdzonej obsadzie” - rozumiem …
czy możliwe jest przekazanie typu interfejsu za pomocą typów generycznych? Interfejs: public interface AsyncCallback<T> W mojej metodzie testowej: Mockito.any(AsyncCallback.class) Odkładanie <ResponseX>za lub za .classwykonaną pracę.
Czy mogę przekazać metodę z parametrem out jako Func? public IList<Foo> FindForBar(string bar, out int count) { } // somewhere else public IList<T> Find(Func<string, int, List<T>> listFunction) { } Func potrzebuje typu, więc out nie zostanie tam skompilowany, a wywołanie listFunction wymaga int i nie pozwoli na wyjście. Czy jest …
Najwyraźniej istnieje wiele sposobów na iterację kolekcji. Ciekawe, czy są jakieś różnice lub dlaczego używałbyś jednej metody zamiast drugiej. Pierwszy typ: List<string> someList = <some way to init> foreach(string s in someList) { <process the string> } Inny sposób: List<string> someList = <some way to init> someList.ForEach(delegate(string s) { <process …
Jestem nowy w Javie i bardzo zdezorientowany. Mam duży zbiór danych o długości 4 int[]i chcę policzyć, ile razy występuje każda określona kombinacja 4 liczb całkowitych. Jest to bardzo podobne do liczenia częstości występowania słów w dokumencie. Chcę utworzyć Map<int[], double>odwzorowanie każdego int [] na bieżącą liczbę, gdy lista jest …
Czy istnieje sposób, aby uczynić tę metodę ogólną, aby móc zwracać ciąg, bool, int lub double? W tej chwili zwraca ciąg, ale jeśli może znaleźć „prawda” lub „fałsz” jako wartość konfiguracyjną, chciałbym na przykład zwrócić wartość logiczną. public static string ConfigSetting(string settingName) { return ConfigurationManager.AppSettings[settingName]; }
Mam ogólny interfejs public interface Consumer<E> { public void consume(E e); } Mam klasę, która zużywa dwa typy obiektów, więc chciałbym zrobić coś takiego: public class TwoTypesConsumer implements Consumer<Tomato>, Consumer<Apple> { public void consume(Tomato t) { ..... } public void consume(Apple a) { ...... } } Najwyraźniej nie mogę tego …
Czy istnieje sposób na uzyskanie następującej deklaracji funkcji? public bool Foo<T>() where T : interface; to znaczy. gdzie T to typ interfejsu (podobny do where T : classi struct). Obecnie zadowalam się: public bool Foo<T>() where T : IBase; Gdzie IBase jest zdefiniowany jako pusty interfejs, który jest dziedziczony przez …
Wiem, że Java implementuje polimorfizm parametryczny (Generics) z wymazywaniem. Rozumiem, czym jest wymazywanie. Wiem, że C # implementuje polimorfizm parametryczny z reifikacją. Wiem, że możesz sprawić, że będziesz pisać public void dosomething(List<String> input) {} public void dosomething(List<Int> input) {} lub że możesz wiedzieć w czasie wykonywania, jaki jest parametr typu …
Z książki Effective Java Joshua Blocha, Tablice różnią się od typu ogólnego na dwa ważne sposoby. Pierwsze tablice są kowariantne. Typy generyczne są niezmienne. Kowariantny oznacza po prostu, że jeśli X jest podtypem Y, to X [] będzie również podtypem Y []. Tablice są kowariantne, ponieważ łańcuch jest podtypem obiektu …
Możesz zobaczyć, co próbuję (ale bezskutecznie) zrobić z następującym kodem: protected T GetObject() { return new T(); } Każda pomoc byłaby bardzo mile widziana. EDYTOWAĆ: Kontekst był następujący. Bawiłem się niestandardową klasą kontrolera, z której miały pochodzić wszystkie kontrolery, przy użyciu standardowych metod. W kontekście musiałem więc stworzyć nową instancję …
Mam ArrayList<String>kopię, którą chciałbym zwrócić. ArrayListma metodę klonowania, która ma następujący podpis: public Object clone() Po wywołaniu tej metody, jak mam rzutować zwrócony Object z powrotem do ArrayList<String>?
Mam więc listę ogólną oraz wartość oldIndexi newIndex. Chcę przenieść element o adres oldIndexdo newIndex... tak prosto, jak to możliwe. Jakieś sugestie? Uwaga Przedmiot powinien znaleźć się między elementami na miejscu (newIndex - 1)i newIndex przed jego usunięciem.
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.