Вопросы с тегом «generics»

216
Что означает вопросительный знак в параметре типа Java generics?

Это небольшой фрагмент кода, взятый из некоторых примеров, сопровождающих Stanford Parser. Я занимался разработкой на Java около 4 лет, но никогда не имел четкого понимания того, на что должен указывать этот стиль кода. List<? extends HasWord> wordList = toke.tokenize(); Я не беспокоюсь о...

211
Тип должен быть ссылочным типом, чтобы использовать его в качестве параметра 'T' в универсальном типе или методе.

Я углубляюсь в дженерики, и теперь у меня возникла ситуация, в которой мне нужна помощь. Я получаю ошибку компиляции в классе «Производные» ниже, как показано в заголовке темы. Я вижу много других сообщений, похожих на этот, но я не вижу отношений. Может кто-нибудь сказать мне, как решить эту...

205
Когда для дженериков Java требуется <? расширяет T> вместо <T> и есть ли недостатки в переключении?

Приведенный ниже пример (с использованием JUnit с сопоставителями Hamcrest): Map<String, Class<? extends Serializable>> expected = null; Map<String, Class<java.util.Date>> result = null; assertThat(result, is(expected)); Это не компилируется с assertThatсигнатурой метода...

203
Каковы различия между Обобщением в C # и Java… и Шаблонами в C ++? [закрыто]

Закрыто . Этот вопрос должен быть более сфокусированным . В настоящее время он не принимает ответы. Закрыто 6 лет назад . Locked . Этот вопрос и его ответы заблокированы, потому что вопрос не по теме, но имеет историческое значение. В настоящее время он не принимает новые ответы или...

198
Как ссылаться на общие классы и методы в документации XML

При написании XML-документации вы можете использовать <see cref="something">something</see>, что, конечно, работает. Но как вы ссылаетесь на класс или метод с универсальными типами? public class FancyClass<T> { public string FancyMethod<K>(T value) { return "something...

197
Универсальный TryParse

Я пытаюсь создать универсальное расширение, которое использует TryParse, чтобы проверить, является ли строка данного типа: public static bool Is<T>(this string input) { T notUsed; return T.TryParse(input, out notUsed); } это не скомпилируется, так как не может разрешить символ «TryParse» Как...

197
Статический метод в универсальном классе?

В Java я хотел бы иметь что-то вроде: class Clazz<T> { static void doIt(T object) { // ... } } Но я получаю Невозможно сделать статическую ссылку на нестатический тип T Я не понимаю дженерики за пределами базового использования и поэтому не могу понять этого. Это не помогает, что я не смог...

194
Java: как получить литерал класса из универсального типа?

Как правило, я видел, как люди используют литерал класса следующим образом: Class<Foo> cls = Foo.class; Но что, если тип является общим, например, List? Это работает нормально, но есть предупреждение, так как список должен быть параметризован: Class<List> cls = List.class Так почему бы...

194
Производительность массивов и списков

Скажем, у вас должен быть список / массив целых чисел, которые вы должны часто повторять, и я имею в виду очень часто. Причины могут быть разными, но говорят, что это сердце самого внутреннего цикла обработки большого объема. В целом, можно использовать списки (List) из-за их гибкости в размере....

194
Разница между списком, списком <?>, Списком <T>, списком <E> и списком <объект>

Каковы различия между List, List<?>, List<T>, List<E>, и List<Object>? 1. Список List: является необработанным типом, поэтому нет typesafe. Он будет генерировать ошибку времени выполнения только при плохом приведении. Мы хотим, чтобы ошибка времени компиляции была плохой. Не...

183
Передайте Instantiated System.Type в качестве параметра типа для универсального класса

Название немного неясно. Я хочу знать, возможно ли это: string typeName = <read type name from somwhere>; Type myType = Type.GetType(typeName); MyGenericClass<myType> myGenericClass = new MyGenericClass<myType>(); Очевидно, MyGenericClass описывается как: public class...

173
Как сделать статический метод Java Generic?

Ниже приведен фрагмент о том, как сделать универсальный класс Java для добавления одного элемента в массив. Как я могу сделать appendToArray статическим методом. Добавление статического в сигнатуру метода приводит к ошибкам компиляции. public class ArrayUtils<E> { public E[] appendToArray(E[]...

171
Выберите словарь <T1, T2> с помощью LINQ

Я использовал ключевое слово «select» и метод расширения для возврата IEnumerable<T>с LINQ, но мне нужно вернуть универсальный Dictionary<T1, T2>и не могу понять это. Пример, из которого я узнал, использовал что-то в форме, подобной следующей: IEnumerable<T> coll = from x in y...

171
Общая верхняя граница возвращаемого типа - интерфейс против класса - удивительно правильный код

Это пример из стороннего библиотечного API, но упрощенный. Скомпилировано с Oracle JDK 8u72 Рассмотрим эти два метода: <X extends CharSequence> X getCharSequence() { return (X) "hello"; } <X extends String> X getString() { return (X) "hello"; } Оба сообщают о предупреждении...

167
foreach vs someList.ForEach () {}

Существует много способов перебора коллекции. Любопытно, есть ли какие-либо различия, или почему вы бы использовали один способ по сравнению с другим. Первый тип: List<string> someList = <some way to init> foreach(string s in someList) { <process the string> } Другой путь:...

167
Как конвертировать int [] в Integer [] в Java?

Я новичок в Java и очень смущен. У меня большой набор данных длиной 4 int[] и я хочу подсчитать, сколько раз встречается каждая конкретная комбинация из 4 целых чисел. Это очень похоже на подсчет частот слов в документе. Я хочу создать Map<int[], double> который отображает каждое значение int...