Generics 인식의 특징 예제

 

일반 정보


일반적으로, IDEA 모든 특징은 Generics 다룰 있습니다. 바꾸어 말하면, 만일 Generics 지원이 적절하게 셋업되면

Generics 함께 에디터, 리팩토링, 네비게이션 & 검색 등을 사용하여 그것들 없이 부드럽게 작업할 것입니다.


그러나, Generics 특유한 특징은 또한 추가되었습니다.  그것은  Generify Refactoring 라고 불리고, 상응하는 섹션에서 발견될 있습니다.

 

IDEA 함께 Generics 사용하기


서브섹션은 IntelliJ IDEA에서 Generics 사용하는 개의 표본을 제공합니다.

1. Smart Completion.

최초 코드는 다음과 같이 보입니다:

    Set<File> files =
new

 
Ctrl + Shift + Space 누르십시오



그것은 Set에 대해 적절한 타입과 함께 코드를 완료할 것을 제안됩니다.

    Set<File> files =
new TreeSet<File>();

2. Refactoring.
 

Generics특유의 코드와 함께 리팩토링을 수행하면 전보다 더욱 쉬어집니다.
 
    List<File> list = getFiles();
    list.get(0);
 

list.get(0) 대한 변수를 생성합시다 - Ctrl + Alt + V 누르십시오



나타난 다이얼로그에서 제안된 변수 타입은 적합한 타입과 함께 주어집니다.

 
    List<File> list = getFiles();
    File file = list.get(0);
 

3. Intentions.

Intention actions
완전하게 Generics 인식입니다.

 
    Set<File> filesToDelete = getFilesToDelete();
    for (Iterator it = filesToDelete.iterator(); it.hasNext();) {
        File file = (File) it.next();
        System.out.println("file = " + file);
    }


캐럿이 iterator 선언 위에 있는 동안 Alt + Enter 누르십시오



Generics-aware 하는 것에 iterator  변경하기 위해  번째 행동을 선택하십시오.
 
    Set<File> filesToDelete = getFilesToDelete();
    for (Iterator<File> it = filesToDelete.iterator(); it.hasNext();) {
        File file = (File) it.next();
        System.out.println("file = " + file);
    }

4. Live Templates.

만일 Generics 가 사용가능 하면 Live Templates 을 생성하는 것은 또한 고려됩니다.
 
    Set<File> filesToDelete = getFilesToDelete();
    itco

 

itco 템플릿 후에 캐럿이 있을 Tab 누릅니다. IDEA 자동적으로 인식하고 필요한 곳에서 매개변수를 나타내는 타입을 삽입합니다.

 
    Set<File> filesToDelete = getFilesToDelete();
    for (Iterator<File> iterator = filesToDelete.iterator(); iterator.hasNext();) {
        File file = iterator.next();
    }

5. Code Inspections.

 Code Inspections 는 코드가 가능한 Generics 지원과 함께 개선될 수 있는 경우를 인식합니다.  이 경우는 타입 캐스팅이 중복일 때 입니다.



6. Code Generation.

만일 매개변수로 나타나는 타입이 사용되어야만 한다면 Code Generation 특징은 자동적으로 감지됩니다.

 

    public class FilesList implements List<File> {
 
    }
 

상응하는Select Methods to Implement 다이얼로그를 부르기 위해 Alt + Enter 누르십시오.




생성된 메소드는 매개 변수에 대해 적합한 타입을 갖습니다.

 
    public class FilesList implements List<File> {
        public Iterator<File> iterator() {
            return null;
        }
        ...
    }