Java Generics (일반 형)
범 형 류
범 형 류 는 우리 가 가장 자주 사용 하 는 범 형 형식 이다. 다음 과 같다.
/** * * Created by yuedong.li on 12/8/15. */
public class ToolsUtil<T> {
/** * if-else * @param condition * @param t1 1 * @param t2 2 * @return */
public T ifThenElse(boolean condition, T t1, T t2) {
if (condition) {
return t1;
}
return t2;
}
}
if - else 대신 도구 클래스
사용법 도 간단 해 요.
public class Main {
public static void main(String[] args) {
double res = new ToolsUtil<Double>().ifThenElse(1 > 2, 1.0, 2.0);
System.out.println(res);
}
}
일반적인 방법
수요 가 갈수 록 많아 짐 에 따라 공구 류
ToolsUtil
도구 류 를 많이 늘 려 야 할 수도 있 지만 다른 방법의 매개 변수 반환 값 등 은 아 닙 니 다. T
,우 리 는 입도 조정 이 필요 하 다. 이때 가 바로 범 형 방법 으로 표현 할 때 이다./** * * Created by yuedong.li on 12/8/15. */
public class ToolsUtil {
/** * if-else * @param condition * @param t1 1 * @param t2 2 * @param <T> * @return */
public <T> T ifThenElse(boolean condition, T t1, T t2) {
if (condition) {
return t1;
}
return t2;
}
/** * Email * * @param email * email * @return */
public static boolean checkEmail(String email) {
boolean result = false;
//some code about checking email string
return result;
}
}
위의 코드 는 우리 가 일반적인 방법 을 사용 하여
ifThenElse
함수 가 독립 되 었 습 니 다. 더 이상 만 들 필요 가 없습니다. ToolsUtil
유사 시 는 반드시 지정 해 야 한다.사용 방법 은 여전히 상대 적 으로 쉽다.
public class Main {
public static void main(String[] args) {
double res = new ToolsUtil().ifThenElse(1 > 2, 1.0, 2.0);
System.out.println(res);
boolean checkRes = new ToolsUtil().checkEmail("[email protected]");
System.out.println(checkRes);
}
}
창설
ToolsUtil
타 입 을 지정 할 필요 가 없어 서 코드 가 많이 시원해 보 여요.우 리 는 항상 도구 류 의 방법 을 정적 으로 쓴다. 물론 일반적인 방법 도 가능 하 다.
/** * * Created by yuedong.li on 12/8/15. */
public class ToolsUtil {
/** * Email * * @param email * email * @return */
public static boolean checkEmail(String email) {
boolean result = false;
//some code about checking email string
return result;
}
/** * if-else * @param condition * @param t1 1 * @param t2 2 * @param <T> * @return */
public static <T> T ifThenElse(boolean condition, T t1, T t2) {
if (condition) {
return t1;
}
return t2;
}
}
더욱 간결 하 게 사용 하고 다음 과 같이 조작 합 니 다.
public class Main {
public static void main(String[] args) {
double res = ToolsUtil.ifThenElse(1 > 2, 1.0, 2.0);
System.out.println(res);
boolean checkRes = ToolsUtil.checkEmail("[email protected]");
System.out.println(checkRes);
}
}
주의해 야 할 점 은
<T>
(public private static final 등) 과
사이 에 있어 야 합 니 다.총결산
범 형 방법 은 언제 사용 합 니까?
① 유형 제약 은 부분 에 불과 하 다.
범 형의 작용 은 전 체 를 겨냥 한 것 이 아니 라 단지 국 지적 인 것 을 겨냥 한 것 이다. 예 를 들 어
ToolsUtil
종류② 정적 방법 은 범 형 을 처리 해 야 한다.
위의 예 에서
ifThenElse
와 같이 일반적인 정적 방법 은 범 형 을 사용 할 수 없다.뚱뚱 헌
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.