0

Что означает синтаксис <E> в Java?

11

Я быстро погуглил ответ, но не смог найти или придумать точные параметры поиска.

Я самостоятельно изучаю Java, но не могу понять смысл определённого синтаксиса.

public class Node&lt;E&gt;{
    E elem;
    Node&lt;E&gt; next, previous;
}

Что означает <E>? Я смутно помню, что угловые скобки как-то связаны с векторами, но исходя из приведенного выше кода у меня складывается впечатление, что это связано с перечислениями.

Буду признателен за любую помощь или пояснение. Спасибо.

1 ответ(ов)

0

В приведенном вами примере <E> обозначает параметр типа класса Node. Параметр типа определяет, что он может ссылаться на любой тип (например, String, Integer, Employee и т. д.). В Java есть соглашения по именованию параметров типов, которые выглядят следующим образом:

  1. T - Тип
  2. E - Элемент
  3. K - Ключ
  4. N - Число
  5. V - Значение

Рассмотрим следующий пример:

public class Node<E>{
   E elem;
   Node<E> next, previous;
}
class Test{
   Node<String> obj = new Node<>();
}

В этом примере в фоне класс Node с параметром 'E' будет ссылаться на тип String, и класс будет выглядеть следующим образом:

public class Node<String>{
   String elem;
   Node<String> next, previous;
}

Вы можете использовать как String, так и Integer, Character, Employee и другие типы в качестве параметра типа.

Кроме того, дженерики можно использовать с интерфейсами, методами и конструкторами.

Для получения дополнительной информации о дженериках посетите следующие ссылки:

Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь