제네릭은 JAVA의 중요한 기능입니다. 일반 프로그래밍을 사용하면 코드 재사용률을 높일 수 있습니다.
구현: 일반적인 방법에 와일드카드 사용
클래스 만들기: WildcardsTest.
주어진 목록의 중간 값을 가져오기 위한 getMiddle() 메서드를 만듭니다.
제네릭에서는 "?"를 와일드카드 문자로 사용합니다. 예를 들어 와일드카드 문자는 확장 키워드를 사용하여 값의 상한을 설정할 수 있습니다. 예를 들어
Extensions Number>
는 Byte, Double, Float 및 Integer가 이 유형 매개변수에 적합함을 의미합니다.
또한
super Number>
w와 같은 상한과 하한이 있습니다. 이는 유형 매개변수가 Object와 같은 Number 클래스의 상위 클래스임을 의미합니다.
package com.xiaoxuzhu; import java.util.ArrayList; import java.util.Arrays; import java.util.List; /** * Description: * * @author xiaoxuzhu * @version 1.0 * * <pre class="brush:php;toolbar:false"> * 修改记录: * 修改后版本 修改人 修改日期 修改内容 * 2022/5/10.1 xiaoxuzhu 2022/5/10 Create *
Generics
1. 매개변수 유형은 클래스, 일반 클래스 생성에 사용됩니다.
2. 매개변수 유형은 인터페이스, 일반 인터페이스 생성에 사용됩니다.
3. 매개변수 유형은 메소드, 일반 메소드 생성에 사용됩니다. 메소드 수정자 뒤, 반환 값 유형 앞의 일반
? 와일드카드를 입력하세요.
다양한 형태의 와일드카드:
1. 무제한 와일드카드, >.
2. 상한 와일드카드, 확장 사용자> 매개변수 유형이 User의 하위 클래스만 될 수 있음을 나타냅니다.
3. 하한 와일드카드, 슈퍼 유저> 매개변수 유형이 User의 상위 클래스만 될 수 있음을 나타냅니다.
public class P<T> { private T t; public T getT(){ return t; } //通配符 //设置指定类型的范围,超过范围就会报错 //extends : 指定范围必须是其(这里是List)子类 public void set(P<? extends List> list){ return; } //super : 指定类型必须是其(这里是List)父类 public void setSuper(P<? super List> list){ return; } public static void main(String[] args) { new P<String>(); //T会被替换成String new P<Integer>(); //T会被替换成Integer Person<String,List,Double,User> person = new Person<String,List,Double,User>();//T会被替换成String,B会被替换成List... person.eat("鱼"); } } class User<T extends P>{//这里给类的泛型指定范围,T必须要继承类P。 } //一个类可以同时指定多个泛型 class Person<T,B,S,N>{ private T t; private B b; private S s; private N n; public void eat(T t){ this.t = t; System.out.println("我正在吃"+this.t); } }
제네릭 선언은 알 수 없는 데이터 유형이 클래스, 인터페이스 및 메소드 생성에 사용됨을 나타냅니다. 정수 또는 문자열 유형일 수 있습니다. 유형을 T, S, N 등으로 정의하면 됩니다.
인스턴스화할 때 T의 특정 유형을 선언해야 합니다.
일반 객체의 사용 방법을 정의할 때 T가 무엇인지 아직 알 수 없습니다. String 유형일 수도 있고 Integer 유형일 수도 있습니다. T가 특정 일반 데이터 유형으로 정의된 경우 매개변수는 이 데이터 유형이어야 합니다. 현재 특정 일반 데이터 유형 대신 와일드카드가 사용됩니다.
코드 재사용성을 높이려면 일반 및 와일드카드를 사용하세요.
객체를 선언과 사용의 두 부분으로 나누는 경우. 제네릭은 유형 선언 시 코드 재사용에 중점을 두는 반면, 와일드카드는 사용 시 코드 재사용에 중점을 둡니다. 제네릭은 내부 데이터 유형에 대한 불확실성을 정의하는 데 사용되며, 와일드카드는 사용되는 개체 유형에 대한 불확실성을 정의하는 데 사용됩니다.
위 내용은 와일드카드를 사용하여 Java의 일반 성능을 향상시키는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!