如何解决如何在Inria Spoon中向CtAnnotation添加多个值
我正在使用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 举报,一经查实,本站将立刻删除。