>

코드 스 니펫을 아래에 올렸습니다.

public int appendLoopOnAppenders(LoggingEvent event) {
    int size = 0;
    if (this.appenderList != null) {
        size = this.appenderList.size();
        for (int i = 0; i < size; i++) {
            Appender appender = (Appender) this.appenderList.elementAt(i);
            appender.doAppend(event);
        }
    }
    return size;
}

여기에서 Appender는 인터페이스이지만 를 확인하면 Appender의 공식 문서 는 수많은 클래스에 의해 구현되고 있습니다.

알고 싶다. 그런 경우 Appender 를 구현하는 모든 클래스 중에서 어떤 클래스의 구현을 어떻게 알 수 있을까  인터페이스가 사용 중입니까?

예를 들어 위 코드에서 doAppend 를 어떻게 알 수 있습니까?  어떤 클래스의 구현입니까?

  • 답변 # 1

    appender.getClass() 를 사용할 수 있습니다  어 펜더에 어떤 실제 유형이 있는지 확인하십시오. 당신은 또한 instanceof 를 사용할 수 있습니다  연산자를 사용하여 객체 유형을 테스트합니다.

관련 자료

  • 이전 javascript - ng-template에서 값을 업데이트하는 방법
  • 다음 list - Groovy로 더 나은 무작위 가치를 얻으십시오