자바 사용자 정의 주석 및 사용
14252 단어 【Java】-----【Java기초
지난 편 에 서 는 주해 가 무엇 인지 와 그 원리 에 대해 간단 한 소개 (전송 문) 를 했 고 이 손 으로 쓴 것 은 간단 한 주해 예 시 를 실현 했다.
주해 의 사용 장면
주해 에 어느 정도 익숙해 진 후에 주 해 는 도대체 무슨 소 용이 있 습 니까?
자바 홈 페이지 정의:
, , 。 。
, :
- :
- : 、Html 。
- :
주 해 는 설명 한 코드 자체 의 일부분 이 아니다. 즉, 주 해 는 태그 와 유사 하고 그 자 체 를 바 꾸 지 않 으 며 특정한 사물 에 대한 기능 일 뿐이다.개발 자가 Annotation 을 사용 하여 클래스, 방법, Field 등 구성원 을 수식 한 후에 이런 Annotation 은 스스로 효력 이 발생 하지 않 고 개발 자가 해당 하 는 코드 를 제공 하여 Annotation 정 보 를 추출 하고 처리 해 야 합 니 다.이러한 처리 에서 Annotation 을 추출 하고 처리 하 는 코드 를 통칭 하여 APT (Annotation Processing Tool) 라 고 한다.
수기 주해
수요: 하나의 계산 류 는 가감 승제 방법 을 가지 고 있 으 며, 실행 방법 이 있 을 때 프로그램 에 이상 이 있 는 지 확인 하고, 있 으 면 이상 정 보 를 표시 합 니 다.
주해 류
@Retention(RetentionPolicy.RUNTIME)
public @interface Check {
}
계산 류
계산 클래스 (Numeration) 는 가감 승제, 네 가지 방법 을 정의 합 니 다. 그 중에서 나눗셈 나 누 기 는 0 이 고 여기 서 이상 이 발생 할 수 있 습 니 다.
public class Numeration {
//
@Check
public void add() {
System.out.println("1+1=" + 1 + 1);
}
//
@Check
public void subtract() {
System.out.println("1-1=" + (1 - 1));
}
//
@Check
public void multiply() {
System.out.println("1*2=" + (1 *2));
}
//
@Check
public void divide() {
System.out.println("1/0=" + 1 /0);
}
}
테스트 클래스
public class testAnn {
public static void main(String[] args) {
//
Numeration numeration = new Numeration();
//
Method[] methods = numeration.getClass().getDeclaredMethods();
// StringBuilder
StringBuilder sb = new StringBuilder();
//error
AtomicInteger error = new AtomicInteger();
// lambda methods
Arrays.asList(methods).forEach((
method -> {
// @Check
if (method.isAnnotationPresent(Check.class)) {
try {
// true
method.setAccessible(true);
// numeration
method.invoke(numeration, null);
} catch (IllegalAccessException e) {
// e.printStackTrace();
} catch (InvocationTargetException e) {
// e.printStackTrace();
// , StringBuilder
error.getAndIncrement();
sb.append(" ")
.append(method.getClass())
.append(" "+" :")
.append(e.getCause().getMessage());
}
}
}
));
sb.append(" "+" :")
.append(error);
System.out.println(sb);
}
}
출력 결과
1+1=11
1*2=2
1-1=0
class java.lang.reflect.Method :/ by zero :1
간단 한 사용자 정의 주석 구현 ~
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
자바 주석 분석주 해 는 자바 SE 5.0 버 전이 도입 되 기 시작 한 개념 으로 자바 소스 코드 에 대한 설명 이 며 메타 데이터 (데 이 터 를 설명 하 는 데이터) 입 니 다. 마이크로 서비스, 분포 식 주해 가 유행 하면...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.