Como posso usar “<” e “>” no javadoc sem formatação?

121

Se escrevo <xmlElement>em um javadoc, ele não aparece, pois as tags têm funções especiais na formatação de textos.

Como posso mostrar esses caracteres em um javadoc?

Tom Brito
fonte
4
Relacionado, mas não exatamente enganoso: stackoverflow.com/questions/1782040/…
Aparece

Respostas:

160

Você pode usar &lt;para < e &gt;para > .

Pavitar Singh
fonte
ou você pode usar & amp; para escapar do &
ILMTitan
14
@TomBrito Embora isso responda à pergunta real, acredito que a necessidade de escapar dos sinais aparece apenas quando eles são usados ​​como colchetes angulares (ou seja, em pares), o que por sua vez implica que eles fazem parte de algum código (como uma tag XML, como no caso da OP). Nessa situação, acredito que a melhor solução é envolver todo o snippet XML em {@code ...}tags, como Etienne Delavennat sugeriu em sua resposta.
Zoltán
&gtou &ltnão tem exatamente o mesmo significado com os colchetes angulares no formato XML. Mas {@code <>}é uma escolha certa.
cinqS
41

Considerando que XML é um código real, acredito que snippets XML em Javadoc são mais adequados para a tag {@code A <B> C} em vez da tag {@literal A <B> C}.

A tag {@code} usa uma fonte de largura fixa que faz seu conteúdo se destacar como código real.

Etienne Delavennat
fonte
2
Concordo. XML deve ser embalado em {@code }tags. Ele será exibido de forma mais natural (com uma fonte de largura fixa) e não parecerá estranho no javadoc de origem, porque você não precisa escapar dos colchetes angulares separadamente.
Zoltán
15

Escape-os como HTML: &lt;e&gt;

duffymo
fonte
9

Você só precisa usar o equivalente HTML para um dos colchetes angulares. O <pode ser representado como &lt;ou &#60;. Aqui está uma amostra retirada do Javadoc real:

<pre>
& lt; complexType>
  & lt; complexContent>
    & lt; restrição base = "{http://www.w3.org/2001/XMLSchema}anyType">
      & lt; sequência>
      [...]

Isso é exibido como:

<complexType>
   <complexContent>
     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
       <sequence>
Pops
fonte
2

A interposição de <pre> e {@code} salva colchetes angulares e linhas vazias em javadocs e é amplamente utilizada, consulte java.util.Stream por exemplo.

<pre>{@code
   A<B>C

   D<E>F
}</pre>
Serg
fonte
1

Basta envolvê-lo {@code}assim:

{@code <xmlElement>}
Ivanjermakov
fonte