Come puoi sfuggire al carattere @ in javadoc?


180

Come posso sfuggire al @simbolo in javadoc? Sto cercando di usarlo all'interno di un {@code}tag, che è all'interno dei <pre>tag.

Ho già provato la &#64;sequenza di escape HTML , ma non ha funzionato.


Ora ha iniziato a essere visualizzato correttamente dopo aver modificato parte del rientro all'interno del blocco @ {code}! Questo è stato in Eclipse se è importante.
JayL,

Non riesco ancora a farlo funzionare
Neil Benn,

Risposte:


267

Usa il {@literal}tag javadoc:

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

Il javadoc per questo leggerà:

This is an "at" symbol: @

Naturalmente, questo funzionerà per qualsiasi personaggio, ed è il modo "ufficialmente supportato" di mostrare qualsiasi personaggio "speciale".

È anche il più diretto: non devi conoscere il codice esadecimale del personaggio e puoi leggere quello che hai digitato!


1
Come sfuggire al }simbolo?
ADTC,

1
@ADTC Non puoi. Perché vorresti farlo? }non ha alcun significato speciale in HTML.
Boemia

Quindi immagino che tu possa dividerlo solo in due literaltag.
ADTC

23
Sono sorpreso che questo sia accettato e così votato. Premessa della domanda: all'interno del tag {@code} . {@literal} semplicemente non funziona all'interno di un tag {@code}.
Daniel C. Sobral,

6
Omettere il {e solo usando @literal @funziona all'interno di un {@code}tag.
Brad Turek,

55

Scrivilo come entità HTML:

&#064;

Dal documento " javadoc - The Java API Documentation Generator "

Se si desidera iniziare una riga con il carattere @ e non farlo interpretare, utilizzare l'entità HTML @.

Ciò implica che puoi usare entità HTML per qualsiasi personaggio di cui avresti bisogno per scappare, e infatti puoi:

Il testo deve essere scritto in HTML con entità HTML e tag HTML. Puoi utilizzare qualsiasi versione di HTML supportata dal tuo browser. Il doclet standard genera altrove codice HTML 3.2 (al di fuori dei commenti della documentazione) con l'inclusione di fogli di stile e frame a cascata. HTML 4.0 è preferito per i file generati a causa dei set di frame.

Ad esempio, le entità per il simbolo minore di (<) e il simbolo maggiore di (>) devono essere scritte come &lt;e &gt;. Allo stesso modo, la e commerciale (&) dovrebbe essere scritta come &amp;.


Funziona meglio dell'espressione letterale quando non è seguito da uno spazio (ad esempio quando si scrive un'annotazione)
Bludwarf,

8

la mia soluzione è

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

2

Hai un'idea generale, prova a usare la rappresentazione ottale: &#064;


6
Questo non è ottale.
Joey,

@ha il punto di codice 0x40 in esadecimale, che è 64 in decimale
Binkan Salaryman,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.