Jak możesz uciec od znaku @ w javadoc?

180

Jak mogę uciec od @symbolu w javadoc? Próbuję użyć go w {@code}tagu, który jest w środku<pre> tagach.

Próbowałem już &#64;sekwencji ucieczki HTML , ale to nie działało.

JayL
źródło
Teraz zaczęło się wyświetlać dobrze po tym, jak poprawiłem niektóre wcięcia w bloku @ {code}! To było w Eclipse, jeśli ma to znaczenie.
JayL
Nadal nie mogę tego zrobić
Neil Benn,

Odpowiedzi:

267

Użyj {@literal}tagu javadoc:

/**
 * This is an "at" symbol: {@literal @}
 */

Jawadok w tym celu będzie czytał:

This is an "at" symbol: @

Oczywiście będzie to działać dla dowolnych postaci i jest to „oficjalnie obsługiwany” sposób wyświetlania dowolnych „znaków specjalnych”.

Jest to również najprostsze - nie musisz znać kodu szesnastkowego znaku i możesz przeczytać, co wpisałeś!

Czeski
źródło
1
Jak uciec od }symbolu?
ADTC
1
@ADTC Nie możesz. Dlaczego miałbyś chcieć }nie ma specjalnego znaczenia w html.
Czeski
Sądzę więc, że można go podzielić tylko na dwa literaltagi.
ADTC
23
Dziwię się, że to zaakceptowane i tak wzniosłe głosowanie. Przesłanka pytania: wewnątrz tagu {@code} . {@literal} po prostu nie działa w tagu {@code}.
Daniel C. Sobral
6
Pominięcie {i użycie @literal @działa wewnątrz {@code}tagu.
Brad Turek
55

Po prostu napisz jako encję HTML:

&#064;

Z dokumentu „ javadoc - The Java API Documentation Generator

Jeśli chcesz rozpocząć wiersz ze znakiem @ i nie interpretować go, użyj encji HTML @.

Oznacza to, że możesz używać encji HTML dla każdego znaku, którego potrzebujesz, aby uciec, i rzeczywiście możesz:

Tekst musi być napisany w języku HTML z elementami HTML i znacznikami HTML. Możesz użyć dowolnej wersji HTML obsługiwanej przez przeglądarkę. Standardowy doclet generuje kod zgodny z HTML 3.2 gdzie indziej (poza komentarzami do dokumentacji) z włączeniem kaskadowych arkuszy stylów i ramek. HTML 4.0 jest preferowany dla generowanych plików ze względu na zestawy ramek.

Na przykład jednostki dla symbolu mniejszego niż (<) i większego niż symbol (>) należy zapisać jako &lt;i &gt;. Podobnie, ampersand (&) należy zapisać jako &amp;.

Frank V.
źródło
Działa lepiej niż wyrażenie dosłowne, gdy nie następuje po nim spacja (np.
Podczas pisania
8

moim rozwiązaniem jest

/**
 * Mapper Test Helper.
 *
 * add the following annotations above the class
 * <pre>{@code
 * // junit5
 * @literal @ExtendWith(SpringExtension.class)
 * // junit4
 * @literal @RunWith(SpringRunner.class)
 * }</pre>
 */
Yeongjun Kim
źródło
2

Masz ogólny pomysł, spróbuj użyć ósemkowej reprezentacji: &#064;

Yuval Adam
źródło
6
To nie jest ósemkowe.
Joey,
@ma
współrzędną kodową