>Java >java지도 시간 >자바 제네릭의 역할은 무엇입니까

자바 제네릭의 역할은 무엇입니까

(*-*)浩
(*-*)浩원래의
2019-05-25 13:28:526240검색

Java에서 일반 메커니즘을 구현하는 목표는 런타임이 아닌 소스 코드를 프로그래밍할 때 버그가 발견되는 시간을 앞당기는 것입니다. 컴파일 타임에 버그가 발견되면 컴파일 오류를 더 쉽고 빠르게 발견하고 복구할 수 있으므로 Java 프로그램을 디버깅하는 데 많은 시간을 절약할 수 있습니다. 게다가 제네릭은 컴파일 타임에만 존재한다는 사실은 우리가 자바 제네릭을 배울 때 기억해야 할 가장 중요한 사실이기도 합니다.

자바 제네릭의 역할은 무엇입니까

제네릭의 기능은 다음과 같습니다.
유형 매개변수화, 즉 유형이 메소드 매개변수처럼 전달될 수 있습니다. 이것은 중요합니다.
Generics를 사용하면 컴파일러가 컴파일 중에 유형을 확인하여 유형 안전성을 향상하고 런타임 시 일치하지 않는 객체 유형으로 인해 발생하는 예외를 줄일 수 있습니다.

예:

public class ListContainer<T> {
    private T t;
 
    public T getObj() {
        return t;
    }
    public void setObj(T t) {
        this.t = t;
    }
}

여기 는 T 유형의 매개변수입니다. T가 구체적으로 어떤 유형을 참조하는지(문자열인지, 동물인지, Dog인지) 여기서는 중요하지 않습니다. 프로그래머가 개발 중에 ListContainer를 사용할 때 사용됩니다.

ListContainer<Dog> myCon=new ListContainer<Dog>();
와 같이

을 지정합니다. 이 환경에서 컴파일러는 ListContainer 컨테이너가 Dog 유형 개체를 보유한다는 것을 알고 있습니다. 유형 안전 점검을 수행합니다.

myCon.setObj(new Dog())//ok
myCon.setObj(“123”);//编译时提醒类型错误

이런 방식으로 설계된 컨테이너를 사용하면 컴파일러가 유형 안전성 검사 작업의 큰 부분을 도울 수 있습니다. 이는 런타임 시 많은 ClassCastException 예외를 방지하고 프로그래머는 다양한 객체의 유형을 기억하거나 걱정할 필요가 없습니다. 유형 일치 문제가 있습니다. 동시에 대부분의 경우 유형 강제를 수행할 필요가 없습니다.

위 내용은 자바 제네릭의 역할은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.