问题描述
我正在使用Spoon 8.2.0,并且还尝试了Spoon 8.3.0 beta 10:在下面的代码中,我尝试为注释添加多个值,但是它不能按预期工作。我在 Summary.java 中有一个Java注释Summary
:
package tryspoon;
public @interface Summary {
String title();
String date();
}
在Spooner
中, Spooner.java
package tryspoon;
import spoon.Launcher;
import spoon.SpoonAPI;
import spoon.reflect.declaration.CtAnnotation;
import spoon.reflect.reference.CtTypeReference;
public class Spooner {
public static void main(String[] args) {
SpoonAPI spoon = new Launcher();
CtTypeReference<Summary> typeRef = spoon.getFactory().createCtTypeReference(Summary.class);
CtAnnotation<Summary> annotation = spoon.getFactory().createAnnotation(typeRef);
annotation.addValue("title","First summary");
annotation.addValue("date","2020-10-05");
// This outputs @tryspoon.Summary(date = "2020-10-05")
System.out.println(annotation);
// This outputs {date="2020-10-05",title=null}
System.out.println(annotation.getAllValues());
}
}
交换annotation.addValue("title","First Summary")
和annotation.addValue("date","2020-10-05")
的顺序将使其仅显示title
键和值
在注释中,并且date
键在getAllValues()
中的地图中为空。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)