РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
82 of 1163 menu

Алмазный оператор <>

Алмазный оператор <> - это синтаксическая конструкция в Java, которая позволяет опустить параметры типа в правой части выражения при создании объекта обобщенного класса. Компилятор сам выводит нужные типы из контекста, то есть из типа переменной, в которую присваивается объект. Алмазный оператор был введен в Java 7 и помогает избежать дублирования типов в коде. Параметры типа указываются только слева от оператора присваивания, а справа вместо них пишется <>.

Синтаксис

ClassName<Type> variable = new ClassName<>();

Пример

Давайте создадим список строк без повторного указания типа справа от оператора присваивания:

import java.util.ArrayList; import java.util.List; public class Main { public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("abcde"); System.out.println(list); } }

Результат выполнения кода:

["abcde"]

Пример

Давайте создадим карту, где ключом будет строка, а значением - целое число:

import java.util.HashMap; import java.util.Map; public class Main { public static void main(String[] args) { Map<String, Integer> map = new HashMap<>(); map.put("abcde", 12345); System.out.println(map); } }

Результат выполнения кода:

{abcde=12345}

Пример

Алмазный оператор работает и при передаче объекта в параметр метода, если тип выводится из сигнатуры метода:

import java.util.ArrayList; import java.util.List; public class Main { public static void main(String[] args) { printList(new ArrayList<>()); } public static void printList(List<String> list) { list.add("12345"); System.out.println(list); } }

Результат выполнения кода:

["12345"]

Смотрите также

  • оператор diamond,
    который представляет алмазный оператор
  • тему type-param,
    которая описывает параметры типа
  • тему generic-method,
    которая описывает обобщенные методы
  • тему raw-type,
    которая описывает сырые типы
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить