2016-04-20 26 views
14

Pracuję nad projektem, który jest zaimplementowany w Javie 7, a teraz chcę przeprowadzić migrację do języka Java 8. Używam Intellij Idea i znajduję wszystkie "nowe klasy wewnętrznej wystąpienia" odrobina regex znalezienie ("nowy (.) \ s * {[. | \ s] *"), ale są one bardzo liczne! Jak wymusić Intellij, aby zastąpić wszystkie te wewnętrzne klasy?Automatyczne zastępowanie wszystkich anonimowych klasy wewnętrznej lambda w Intellij Idea

+2

Nie wszystkie anonimowe klasy mogą być reprezentowane jako lambdy. – bcsb1001

+0

Ok. Co powiesz na niektóre z nich, które można reprezentować? –

+0

Nie sądzę, że taka funkcja jest dostępna po wyjęciu z pudełka. Może jakiś plugin – Blitzkr1eg

Odpowiedz

26

W menu Analyze wybierz "Uruchom inspekcję według nazwy ...". W polu wyszukiwania wpisz "Anonimowy" i wybierz ten, który mówi "Klasa anonimowa może zostać zastąpiona przez lambdę" lub coś podobnego. Wybierz swój zakres i rozpocznij analizę.

W wynikach można sprawdzić je pojedynczo i kliknąć link "Zamień na lambdę" po prawej stronie, aby dokonać zmiany, lub, jeśli jesteś odważny, możesz kliknąć prawym przyciskiem myszy węzeł na górze wyników i wybierz "Zastosuj poprawkę", aby zaktualizować je wszystkie.

+0

w moim przypadku 'Klasa anonimowa może być zastąpiona przez lambda' nie znaleziono, ale zamiast tego 'Typ anonimowy można zastąpić lambda' – HendraWD