> Java > java지도 시간 > 다이아몬드 연산자를 사용한 유형 추론

다이아몬드 연산자를 사용한 유형 추론

Susan Sarandon
풀어 주다: 2024-12-31 13:11:14
원래의
208명이 탐색했습니다.

Inferência de Tipos com o Operador Losango

1. 다이아몬드 오퍼레이터 소개

  • 일반 클래스의 인스턴스를 생성할 때 장황함을 줄이기 위해 JDK 7에 도입되었습니다.
  • 컴파일러가 컨텍스트에서 일반 유형을 추론할 수 있으므로 유형 인수를 반복할 필요가 없습니다.

2. JDK 7 이전 선언 예

// Classe genérica com dois tipos
class TwoGen<T, V> {
    T ob1;
    V ob2;

    TwoGen(T o1, V o2) {
        ob1 = o1;
        ob2 = o2;
    }
}

// Criação de uma instância antes do JDK 7
TwoGen<Integer, String> tgOb = new TwoGen<Integer, String>(42, "testing");

로그인 후 복사

단점: 선언과 인스턴스 생성 모두에서 제네릭 유형을 반복해야 합니다.

. JDK 7에서 Rhombus 연산자 사용

// Criação de uma instância usando o operador losango
TwoGen<Integer, String> tgOb = new TwoGen<>(42, "testing");

로그인 후 복사

운영자 <> 변수 선언(TwoGen)을 기반으로 유형 인수를 추론하도록 컴파일러에 요청합니다.

4. 일반양식
일반 클래스의 인스턴스를 생성하기 위한 일반 구문:

nome-classe<lista-arg-tipo> nome-var = new nome-classe<>(lista-arg-cons);

로그인 후 복사

예:

TwoGen<Double, Boolean> example = new TwoGen<>(3.14, true);
로그인 후 복사

5. 방법의 추론
유형 추론은 일반 클래스를 매개변수로 사용하는 메서드에도 작동합니다.
예:

// Adicionado à classe TwoGen
boolean isSame(TwoGen<T, V> o) {
    return ob1 == o.ob1 && ob2 == o.ob2;
}

// Chamando o método usando o operador losango
if (tgOb.isSame(new TwoGen<>(42, "testing"))) {
    System.out.println("Same");
}

로그인 후 복사

새로운 TwoGen<>(...) 매개변수의 유형이 자동으로 유추됩니다.

6. Losango 운영자의 장점
자세한 내용 줄이기: 유형 매개변수가 많은 일반 클래스에 특히 유용합니다.
가독성: 복잡한 문장을 단순화합니다.

7. 호환성
JDK 7 이전의 Java 버전에서는 다이아몬드 연산자가 작동하지 않습니다.
오래된 책과 코드의 예제는 전체 구문을 사용하여 제네릭을 지원하는 모든 Java 컴파일러와의 호환성을 유지합니다.

8. 모범 사례
JDK 7을 지원하는 프로젝트에서 다이아몬드 연산자를 사용하여 코드를 최적화하고 더 읽기 쉽게 만듭니다.
명확성을 위해 학습 예제 또는 레거시 프로젝트의 전체 구문을 선호합니다.

위 내용은 다이아몬드 연산자를 사용한 유형 추론의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿