简体   繁体   中英

How can I use "<" and ">" in javadoc without formatting?

If I write <xmlElement> in a javadoc, it does not appear, because tags have special functions on formatting texts.

How can I show this chars in a javadoc?

You can use &lt; for < and &gt; for > .

Recent versions of JavaDoc support {@literal A<B>C}; this outputs the content correctly (escaping the '<' and '>' in the generated HTML).

See http://download.oracle.com/javase/1.5.0/docs/guide/javadoc/whatsnew-1.5.0.html

Considering XML is actual code, I believe XML snippets in Javadoc are better suited for the {@code A<B>C} tag rather than the {@literal A<B>C} tag.

The {@code } tag uses a fixed-width font which makes its content standout as actual code.

Escape them as HTML: &lt; and &gt;

You only need to use the HTML equivalent for one of the angle brackets. The < can be represented as either &lt; or &#60; . Here's a sample taken from real Javadoc:

<pre>
&lt;complexType>
  &lt;complexContent>
    &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
      &lt;sequence>
      [...]

This displays as:

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

If you set maven up to use markdown , you can just surround it with backticks.

`A<B>C` reads a bit nicer than {@code A<B>C}

Interposition of <pre> and {@code} saves angle brackets and empty lines in javadocs and is widely used, see java.util.Stream for example.

<pre>{@code
   A<B>C

   D<E>F
}</pre>

像这样用{@code}包围它:

{@code <xmlElement>}

In my case where I wanted to put in my javadocs List<SomeClass> ...

I added an even more specific information by giving the link to my SomeClass , so here is my solution :

List<{@link SomeClass}>

Which resulted to a clean :

List<SomeClass>

With underlined 'SomeClass' directing to the specified class.

(of course if the SomeClass is not in same package, the complete path should be referenced)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM