Como você pode escapar do caractere @ no javadoc?


180

Como posso escapar do @símbolo no javadoc? Estou tentando usá-lo dentro de uma {@code}tag, que está dentro de <pre>tags.

Eu já tentei a &#64;sequência de escape html , mas isso não funcionou.


Agora ele começou a ser exibido bem depois que eu ajustei parte do recuo dentro do bloco @ {code}! Isso estava no Eclipse, se importa.
JayL

Eu ainda não posso obtê-lo trabalhar com isso
Neil Benn

Respostas:


267

Use a {@literal}tag javadoc:

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

O javadoc para isso lerá:

This is an "at" symbol: @

Obviamente, isso funcionará para qualquer caractere e é a maneira "oficialmente suportada" de exibir qualquer caractere "especial".

Também é o mais direto - você não precisa saber o código hexadecimal do personagem e pode ler o que digitou!


1
Como você escapa do }símbolo?
ADTC

1
@ADTC Você não pode. Por que você iria querer? }não tem significado especial em html.
Bohemian

Então eu acho que você só pode dividir em duas literaltags.
ADTC

23
Estou surpreso que isso seja aceito e tão votado. Premissa da pergunta: dentro da tag {@code} . {@literal} simplesmente não funciona dentro de uma tag {@code}.
Daniel C. Sobral

6
Omitir {e usar apenas @literal @trabalhos dentro de uma {@code}tag.
Brad Turek

55

Basta escrever como uma entidade HTML:

&#064;

Do documento " javadoc - O gerador de documentação da API Java "

Se você deseja iniciar uma linha com o caractere @ e não a interpretar, use a entidade HTML @.

Isso implica que você pode usar entidades HTML para qualquer caractere que precisaria escapar e, de fato, pode:

O texto deve ser escrito em HTML com entidades e tags HTML. Você pode usar qualquer versão do HTML suportada pelo navegador. O doclet padrão gera código compatível com HTML 3.2 em outros lugares (fora dos comentários da documentação) com a inclusão de quadros e quadros de estilos em cascata. O HTML 4.0 é preferido para arquivos gerados devido aos conjuntos de quadros.

Por exemplo, entidades para o símbolo menor que (<) e o símbolo maior que (>) devem ser escritas como &lt;e &gt;. Da mesma forma, o e comercial (&) deve ser escrito como &amp;.


Ele funciona melhor do que a expressão literal quando não seguido por um espaço (quando a escrita anotação por exemplo)
Bludwarf

8

minha solução é

/**
 * Mapper Test Helper.
 *
 * add the following annotations above the class
 * <pre>{@code
 * // junit5
 * @literal @ExtendWith(SpringExtension.class)
 * // junit4
 * @literal @RunWith(SpringRunner.class)
 * }</pre>
 */

2

Você entendeu a ideia geral, tente usar a representação octal: &#064;


6
Isto não é octal.
Joey

@tem a 0x40 ponto de código em hexadecimal, que é 64 em decimal
Binkan Salaryman
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.