일반 메소드는 유형 매개변수를 사용하여 작동할 수 있는 데이터 유형을 지정합니다. 유형 매개변수 구문은 유형을 명시적으로 지정하거나 다음과 같은 와일드카드를 사용하여 지정할 수 있습니다. T(상한) 및 ? super T(하한). 와일드카드는 유형 매개변수의 범위를 지정합니다. 예를 들어 ? 확장 T는 유형 매개변수가 유형 T 또는 그 하위 클래스여야 함을 의미합니다.
일반 메소드 유형 매개변수 사양
Java에서 일반 메소드를 사용하면 개발자가 여러 유형에서 작동하는 메소드를 작성할 수 있습니다. 일반 메소드를 정의할 때 유형 매개변수를 지정해야 합니다. 유형 매개변수는 메소드가 작동할 수 있는 데이터 유형을 결정합니다.
유형 매개변수 구문
유형 매개변수는 꺾쇠괄호 안에 지정됩니다.
<T> void myMethod(T value) { // 代码主体 }
이 예에서 <T>
는 유형 매개변수이며, 이는 메소드가 다음을 수행할 수 있음을 나타냅니다. 모든 유형의 객체에 대해 작동합니다. <T>
是类型参数,它表示方法可以操作任何类型的对象。
指定类型参数
类型参数可以通过明确指定类型来指定:
<String> void myMethod(String value) { // 操作 String 类型的数据 }
也可以使用通配符来指定类型参数:
?
:无界通配符,表示类型参数可以是任何类型。? extends T
:上界通配符,表示类型参数必须是 T 类型或其子类。? super T
:下界通配符,表示类型参数必须是 T 类型或其超类。实战案例
假设我们有一个 List
,其中包含各种类型的对象。我们想编写一个方法来打印列表中的每个元素:
import java.util.List; public class Example { public static void main(String[] args) { List<Object> myList = List.of("Hello", 10, true); printElements(myList); } public static <T> void printElements(List<T> list) { for (T element : list) { System.out.println(element); } } }
在这个例子中,printElements
方法是泛型的,它使用类型参数 T
?
: 제한 없음 와일드카드, 유형 매개변수가 모든 유형일 수 있음을 나타냅니다. ? 확장 T
: 유형 매개변수가 T 유형 또는 해당 하위 클래스여야 함을 나타내는 상한 와일드카드입니다. ? super T
: 하한 와일드카드로, 유형 매개변수가 T 유형 또는 해당 슈퍼클래스여야 함을 나타냅니다. 목록
이 있다고 가정합니다. 목록의 각 요소를 인쇄하는 메소드를 작성하려고 합니다. 🎜rrreee🎜이 예에서 printElements
메소드는 일반적이며 유형 매개변수 T
를 사용합니다. 따라서 목록에 있는 모든 유형의 데이터를 인쇄할 수 있습니다. 🎜위 내용은 일반 메소드의 유형 매개변수를 지정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!