Вопросы
Вывод типа с помощью рефлексии для лямбд в Java 8
Заголовок: Как получить возвращаемый тип лямбда-функции с использованием рефлексии в Java 8?
Я экспериментировал с новыми лямбда-выражениями в Java 8 и пытаюсь выяснить, как с помощью рефлексии узнать возвращаемый тип класса лямбда-функции. Особенно меня интересуют случаи, когда лямбда реализует...
Возможная загрязнение кучи через параметр varargs
Я понимаю, что эта проблема возникает в Java 7 при использовании varargs с обобщенными типами.
Но у меня вопрос…
Что конкретно подразумевает Eclipse, когда говорит, что "его использование может потенциально загрязнить кучу"?
И как новая аннотация @SafeVarargs предотвращает это?
Как сделать возвращаемый тип метода обобщённым?
Проблема с использованием обобщений в классе Animal
У меня есть класс Animal, который представляет собой животное и позволяет каждому животному иметь много друзей. У меня есть подкласы, такие как Dog, Duck, Mouse и т.д., которые добавляют специфическое поведение, например, методы...
Как решить проблемы с предупреждениями о небезопасном приведении типов?
Описание проблемы:
Я получаю предупреждение в Eclipse следующего вида:
Безопасность типов: Непроверенное приведение из Object в HashMap
Это связано с вызовом API, над которым у меня нет контроля, которое возвращает объект типа Object:
HashMap...
Что такое «сырые типы» и почему их не следует использовать?
Вопросы:
Что такое "сырой тип" (raw types) в Java, и почему я часто слышу, что их не следует использовать в новом коде? Какова альтернатива, если мы не можем использовать сырые типы, и в чем преимущество этих альтернатив?
Получить обобщённый тип класса во время выполнения
Вопрос: Как мне добиться этого?
Я создал обобщенный класс GenericClass, и сейчас у меня возникла проблема с тем, как вернуть тип параметра типа T. Вот код, который у меня есть:
public class GenericClass
{
public Type getMyType()
{
// Как мне вернуть тип T?
...
Разница между <? super T> и <? extends T> в Java
Вопрос о различиях между List и List в Java
Я столкнулся с проблемой при работе с обобщениями в Java и не могу понять разницу между двумя типами списков: List и List.
Я использовал List, но заметил, что не могу добавлять элементы в этот список с помощью метода list.add(e). В то же...
Что такое PECS (Producer Extends Consumer Super)?
Я столкнулся с концепцией PECS (сокращение от Producer extends and Consumer super) во время изучения дженериков в Java.
Может кто-нибудь объяснить, как использовать PECS, чтобы прояснить путаницу между extends и super?
Является ли List<Собака> подклассом List<Животное>? Почему дженерики в Java не являются неявно полиморфными?
Я немного запутался в том, как дженерики в Java обрабатывают наследование и полиморфизм.
Предположим, у нас есть следующая иерархия:
Животное (родитель)
Собака - Кошка (дочерние классы)
Итак, у меня есть метод doSomething(List animals). Согласно всем правилам наследования и...
Как создать обобщённый массив в Java?
Описание проблемы:
Из-за реализации обобщений в Java невозможно создать массив обобщенного типа напрямую, как показано в нижеследующем коде:
public class GenSet {
private E a[];
public GenSet() {
a = new E[INITIAL_ARRAY_LENGTH]; // Ошибка: создание массива с...
Как получить экземпляр класса обобщенного типа T?
У меня есть обобщённый класс Foo<T>. В методе этого класса я хочу получить экземпляр типа T, но не могу использовать T.class.
Каков предпочтительный способ обойти эту проблему и получить класс типа T?