javadoc documentation 의 @link 섹션 에서 일반적인 형식 은 다음과 같습니다.
예
같은 클래스의 메소드 :
/** See also {@link #myMethod(String)}. */
void foo() { ... }
동일한 패키지에 있거나 가져온 다른 클래스의 메소드 :
/** See also {@link MyOtherClass#myMethod(String)}. */
void foo() { ... }
다른 패키지에 있고 가져 오지 않은 메소드 :
/** See also {@link com.mypackage.YetAnotherClass#myMethod(String)}. */
void foo() { ... }
코드 글꼴이 아닌 일반 텍스트로 메서드에 연결된 레이블 :
/** See also this {@linkplain #myMethod(String) implementation}. */
void foo() { ... }
귀하의 질문 과 같이 일련의 메소드 호출 . 이 클래스 외부의 메소드에 대한 링크 레이블을 지정해야합니다 getFoo().Foo.getBar().Bar.getBaz()
. 그러나이 레이블은 깨지기 쉬울 수 있습니다. 아래의 "라벨"을 참조하십시오.
/**
* A convenience method, equivalent to
* {@link #getFoo()}.{@link Foo#getBar() getBar()}.{@link Bar#getBaz() getBaz()}.
* @return baz
*/
public Baz fooBarBaz()
라벨
자동 리팩토링은 레이블에 영향을 미치지 않을 수 있습니다. 여기에는 메소드, 클래스 또는 패키지 이름 바꾸기가 포함됩니다. 메소드 서명 변경
따라서 기본 텍스트와 다른 텍스트를 원하는 경우 에만 레이블을 제공하십시오 .
예를 들어, 인간 언어에서 코드로 링크 할 수 있습니다.
/** You can also {@linkplain #getFoo() get the current foo}. */
void setFoo( Foo foo ) { ... }
또는 위의 "메소드 호출 체인"에 표시된 것처럼 기본값과 다른 텍스트로 코드 샘플에서 링크 할 수 있습니다. 그러나 API가 발전하는 동안 이것은 취약 할 수 있습니다.
유형 삭제 및 # 멤버
메소드 서명에 매개 변수화 된 유형이 포함 된 경우 javadoc @link에서 해당 유형의 지우기를 사용하십시오. 예를 들면 다음과 같습니다.
int bar( Collection<Integer> receiver ) { ... }
/** See also {@link #bar(Collection)}. */
void foo() { ... }