JAVA访问代码中的注释
这可能很奇怪。我有一些文本作为方法的注释,我可以这样链接:JAVA访问代码中的注释,java,javadoc,dry,Java,Javadoc,Dry,这可能很奇怪。我有一些文本作为方法的注释,我可以这样链接: public class A { /** * {@link B#method()}. */ void method() { System.out.println(B.comment); } } public class B { public static final String comment = "This is some comment"; /**
public class A {
/**
* {@link B#method()}.
*/
void method() {
System.out.println(B.comment);
}
}
public class B {
public static final String comment = "This is some comment";
/**
* Comment: {@value #comment}
*/
void method() {
}
}
/**{@link com.mypackage.YetAnotherClass#myMethod(String)}*/
但我想在代码中将该文本用作字符串的一部分。似乎我必须选择:
第一个选项违反了
DRY
,第二个选项通过创建新类使代码复杂化。是否有其他方法在代码中使用注释文本?我不确定我是否理解您正在做的事情,但您可以在注释和代码中重复使用一些文本字符串,如下所示:
public class A {
/**
* {@link B#method()}.
*/
void method() {
System.out.println(B.comment);
}
}
public class B {
public static final String comment = "This is some comment";
/**
* Comment: {@value #comment}
*/
void method() {
}
}
(我不会说重复使用短语或单词违反了DRY…选择第二个,并将字符串放在静态字段中。在javadoc中使用
@value
将其值包含在文档中。为什么要将其包含在注释中?您试图实现什么?已编译类中不包含注释。完全您需要一个工具从源代码(或以前生成的javadocs)中提取注释,或者在编译之前转换源代码,以便将注释嵌入到编译之后确实存在的内容中。一般来说,编译后不应该“需要”注释——更好地解释实际用例可能会得到更好(更集中)的回复。。