>  기사  >  Java  >  Java 함수 제네릭은 어떻게 코드 재사용성을 향상시킵니까?

Java 함수 제네릭은 어떻게 코드 재사용성을 향상시킵니까?

王林
王林원래의
2024-04-28 09:12:021054검색

답변: Java 제네릭을 사용하면 함수를 여러 데이터 유형에 적용하여 코드 재사용성을 높일 수 있습니다. 세부정보: 일반 유형은 8742468051c85b06f0a0af9e3e506b5c와 같이 꺾쇠 괄호로 표시됩니다. 여기서 T는 자리 표시자 유형을 나타냅니다. 8742468051c85b06f0a0af9e3e506b5c List8742468051c85b06f0a0af9e3e506b5c filterList(List8742468051c85b06f0a0af9e3e506b5c, Predicate8742468051c85b06f0a0af9e3e506b5c)와 같은 일반 함수를 생성할 때 유형 변수를 지정합니다. 일반 함수는 2보다 큰 요소에 대해 정수 목록을 필터링하거나 "R"로 시작하는 요소에 대해 문자열 목록을 필터링하는 등 다양한 유형의 목록에 사용할 수 있습니다. 제네릭의 장점에는 코드 재사용, 유연성 및 유형 안전성이 포함됩니다.

Java 函数泛型如何提高代码复用性?

Java 함수 제네릭은 코드 재사용성을 향상시킵니다

제네릭은 함수나 클래스를 정의할 때 유형 자리 표시자를 사용할 수 있게 해주는 Java의 기능입니다. 이를 통해 여러 데이터 유형에서 작동하는 메서드를 만들 수 있으므로 코드 재사용성이 향상됩니다.

제네릭 이해

일반 유형은 꺾쇠 괄호(a8093152e673feb7aba1828c43532094)로 표시됩니다. 예를 들어 Listf7e83be87db5cd2d9a8a0b8117b38cd4는 문자열 유형 목록을 나타냅니다. 유형 변수를 사용하여 T와 같은 일반 유형을 나타낼 수 있습니다. Listf7e83be87db5cd2d9a8a0b8117b38cd4 表示一个字符串类型的列表。我们可以使用类型变量来表示泛型类型,例如 T

创建泛型函数

要创建泛型函数,我们在定义函数时指定类型变量,例如:

public static <T> List<T> filterList(List<T> list, Predicate<T> predicate) {
    List<T> filteredList = new ArrayList<>();
    for (T item : list) {
        if (predicate.test(item)) {
            filteredList.add(item);
        }
    }
    return filteredList;
}

在这个示例中,filterList() 函数使用泛型类型 T 接受一个列表和一个谓词(Predicate)。它返回一个包含满足谓词条件的列表项的新列表。

实战案例

考虑一个需要从不同类型列表中提取满足特定条件的元素的场景。我们可以使用泛型函数 filterList()

// 一个整数列表
List<Integer> numbers = List.of(1, 2, 3, 4, 5);

// 筛选出大于 2 的整数
Predicate<Integer> predicate = i -> i > 2;
List<Integer> filteredNumbers = filterList(numbers, predicate);

// 一个字符串列表
List<String> colors = List.of("Red", "Green", "Blue", "Yellow");

// 筛选出以 "R" 开头的颜色
predicate = s -> s.startsWith("R");
List<String> filteredColors = filterList(colors, predicate);

通过使用泛型函数 filterList()

일반 함수 만들기

일반 함수를 만들려면 함수를 정의하는 동안 유형 변수를 지정합니다. 예:

rrreee

이 예에서 filterList() 함수는 일반 유형 T는 목록과 조건자(Predicate)를 허용합니다. 조건을 만족하는 목록 항목이 포함된 새 목록을 반환합니다.
  • 실용 사례
  • 다양한 유형의 목록에서 특정 조건을 충족하는 요소를 추출해야 하는 시나리오를 생각해 보세요. 일반 함수 filterList()를 사용할 수 있습니다. rrreee 일반 함수 filterList()를 사용하면 다양한 유형의 데이터에 대해 필터링 작업을 쉽게 수행할 수 있습니다. 중복 코드를 작성해야 합니다.
  • 장점
함수 제네릭을 사용하면 다음과 같은 이점이 있습니다. 🎜🎜🎜🎜코드 재사용: 🎜일반 함수는 여러 데이터 유형과 함께 사용할 수 있으므로 코드를 복제할 필요가 없습니다. 🎜🎜🎜유연성: 🎜일반 유형을 사용하면 향후 다양한 데이터 유형에 사용할 수 있는 일반 메서드를 만들 수 있습니다. 🎜🎜🎜유형 안전성: 🎜Generics는 컴파일 타임에 유형을 적용하여 런타임 시 유형 오류가 발생하지 않도록 보장합니다. 🎜🎜

위 내용은 Java 함수 제네릭은 어떻게 코드 재사용성을 향상시킵니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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