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


Respostas:


160

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


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.


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


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>


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>

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.