Определить тип переменной в Java / Eclipse, как в C # "var" - PullRequest
5 голосов
/ 20 октября 2011

Мне нравятся "var" из C # и "def" из Groovy, и я считаю, что писать типы в Java - боль.

Скажем, я пишу код вроде:

List<LongTypeName> results = new ArrayList<LongTypeName>();

или

Map<TypeNameOne,TypeNameTwo> someLookup = fetchMeMyLookup();

Какой самый простой способ сделать это в Java + Eclipse?

Меня особенно интересует случай, когда я не уверен на 100%, какой будет тип, когда я начну строку.

Моя текущая стратегия состоит в том, чтобы всегда объявлять переменные как «int», затем возвращаться к началу строки и выполнять «ctrl-1», и принимать тип, который Eclipse определил. Есть ли лучшая альтернатива?

Мне бы хотелось, чтобы я мог набирать «def» или «var» и заставить Eclipse автоматически исправить его до нужного типа, как только он это выяснит.

(Может быть, я просто должен программировать на Groovy)

Ответы [ 3 ]

5 голосов
/ 20 октября 2011

Тип:

someLookup = fetchMeMyLookup();

Затем нажмите someLookup и нажмите Ctrl + 1 для быстрого исправления «Создать локальную переменную someLookup»

5 голосов
/ 20 октября 2011
  1. Тип new ArrayList<LongTypeName>();
  2. Введите Ctrl+2+L, чтобы создать новую локальную переменную

Оба типа являются «активными» - вы можете переключаться между ними цикломчерез выборы.В этом примере имена предложений: list и arrayList , а предложениями типа являются все возможные интерфейсы и суперклассы ArrayList<String>,: List<String, Collection<String> и т. Д.

screenshot

0 голосов
/ 26 марта 2018

Java 10 ввел вывод типов для локальных переменных. Теперь вы можете использовать специальное (зарезервированное) имя типа var, например:

var results = new ArrayList<LongTypeName>();

var someLookup = fetchMeMyLookup();

Подробнее см. JEP 286 .

...