Вопросы
Вывод типа с помощью рефлексии для лямбд в 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
?