Javadoc评论中有多行代码示例
我有一个我想包含在Javadoc注释中的小代码示例。
/**
* -- ex: looping through List of Map objects --
* <code>
* for (int i = 0; i < list.size(); i++) {
* Map map = (Map)list.get(i);
* System.out.println(map.get("wordID"));
* System.out.println(map.get("word"));
* }
* </code>
*
* @param query - select statement
* @return List of Map objects
*/
问题是代码示例显示在Javadoc中,没有换行符使其难以阅读。
-- ex: looping through List of Map objects -- for (int i = 0; i list.size(); i++) { Map map = (Map)list.get(i); System.out.println(map.get("wordID")); System.out.println(map.get("word")); }
Parameters
query - - select statement
Returns:
List of Map objects
我想我错了,假设代码标签会处理换行符。 在Javadoc评论中格式化代码示例的最佳方式是什么?
除了已经提到的<pre>
标签之外,您还应该使用@code
JavaDoc注释,这对于HTML实体问题(特别是对于泛型)将使生活更加轻松,例如:
* <pre>
* {@code
* Set<String> s;
* System.out.println(s);
* }
* </pre>
将提供正确的HTML输出:
Set<String> s;
System.out.println(s);
虽然省略@code
块(或使用<code>
标签)会导致HTML如下所示:
Set s;
System.out.println(s);
(作为参考,可以在这里找到Java SE 8标签描述:Javadoc标签)
将一个特定的代码示例包含在javadoc评论中,我感到非常难过。 我想分享这一个。
请注意以下事项:
<code>
- 标签来防止大括号被解释 {@code ...}
- tag来获得输出中包含的泛型 @Override
通过“ {@literal @}Override
”,因为javadoc的发电机“倾斜”有由于该@左大括号之后直接进入的事实 {@code
和{@literal
前面的一个空格,以补偿内部空间并保持对齐 javadoc代码:
/** this methods adds a specific translator from one type to another type. `
* i.e.
* <pre>
* <code>new BeanTranslator.Builder()
* .translate(
* new{@code Translator<String, Integer>}(String.class, Integer.class){
* {@literal @}Override
* public Integer translate(String instance) {
* return Integer.valueOf(instance);
* }})
* .build();
* </code>
* </pre>
* @param translator
*/
被打印为
new BeanTranslator.Builder()
.translate(
new Translator<String, Integer>(String.class, Integer.class){
@Override
public Integer translate(String instance) {
return Integer.valueOf(instance);
}})
.build();
Java源码有很多很好的例子。 下面是一个来自“String.java”头部的例子:
....
* is equivalent to:
* <p><blockquote><pre>
* char data[] = {'a', 'b', 'c'};
* String str = new String(data);
* </pre></blockquote><p>
* Here are some more examples of how strings can be used:
* <p><blockquote><pre>
* System.out.println("abc");
* String cde = "cde";
* System.out.println("abc" + cde);
* String c = "abc".substring(2,3);
* String d = cde.substring(1, 2);
* </pre></blockquote>
...
链接地址: http://www.djcxy.com/p/50197.html