Questions tagged «annotations»

在编程中,注释用于将信息添加到类型系统无法表达的代码元素中。

2
什么是Python 3.6中的变量注释?
Python 3.6即将发布。PEP 494-Python 3.6发布时间表提到了12月底,所以我仔细研究了Python 3.6的新增功能,看看他们提到了变量注释: PEP 484引入了功能参数的类型注释(也称为类型提示)的标准。该PEP向Python添加了语法,以注释变量的类型,包括类变量和实例变量: primes: List[int] = [] captain: str # Note: no initial value! class Starship: stats: Dict[str, int] = {} 就像函数注释一样,Python解释器不会在变量注释中附加任何特殊含义,而仅将它们存储在__annotations__类或模块的特殊属性中。与静态类型语言中的变量声明相反,注释语法的目的是提供一种通过抽象语法树和__annotations__属性为第三方工具和库指定结构化类型元数据的简便方法。 因此,根据我的阅读,它们是来自Python 3.5的类型提示的一部分,如Python 3.5中的类型提示中所述。 我遵循captain: str和class Starship示例,但不确定最后一个示例:如何primes: List[int] = []解释?它是否定义了一个只允许整数的空列表?

4
@Entity和@Table中的名称属性
我有一个疑问,因为@Entity和@Table中都存在name属性 例如,允许名称属性具有相同的值 @Entity(name = "someThing") @Table(name = "someThing") 我也可以在同一班上使用不同的名字 @Entity(name = "someThing") @Table(name = "otherThing") 谁能告诉我这两者之间有什么区别,为什么我们两者都具有相同的属性?



5
我应该使用JavaDoc弃用还是Java中的注释?
目前,有两种方法可以将代码标记为Java中已弃用的代码。 通过JavaDoc /** * @deprecated */ 或作为注释: @Deprecated 这是我的问题-在使用Eclipse将方法标记为不推荐使用时,要声明两者都太多了。我真的只想使用其中之一。 但是,使用注释是否会为编译器提供实际有用的其他信息? 但是,仅使用注释,就无法说明为什么不赞成使用该方法-我只能使用JavaDoc来做到这一点,并且不赞成说明为什么不赞成使用不赞成使用的方法。 因此,我只能使用其中之一吗?或者我真的应该学会同时指定两者吗?

8
通过注释使用Hibernate UUIDGenerator
我使用我的uuid如下: @Id @GeneratedValue(generator = "uuid") @GenericGenerator(name = "uuid", strategy = "uuid") @Column(name = "uuid", unique = true) private String uuid; 但是我收到了一个聪明的Hibernate警告: 使用org.hibernate.id.UUIDHexGenerator不会生成符合IETF RFC 4122的UUID值;考虑改用org.hibernate.id.UUIDGenerator 所以我想切换到org.hibernate.id.UUIDGenerator,现在我的问题是如何将其告知Hibernate的生成器。我看到有人用它作为“休眠-uuid”-这就是我尝试过的方法,但结果是负面的: @Id @GeneratedValue(generator = "hibernate-uuid") @GenericGenerator(name = "hibernate-uuid", strategy = "hibernate-uuid") @Column(name = "uuid", unique = true) private String uuid;


1
如何在Java注释中设置字符串数组
我已经声明了这样的注释: public @interface CustomAnnot { String[] author() default "me"; String description() default ""; } 因此,有效的注释将是 @CustomAnnot(author="author1", description="test") 我不知道的是,如何设置多个作者,因为author()返回了String [],这应该是可能的。 @CustomAnnot(author="author1","autor2", description="test") 不起作用!
76 java  annotations 

4
在运行时添加Java批注
是否可以在运行时向对象(特别是方法)添加注释? 进一步说明:我有两个模块,模块A和模块B。moduleB依赖于moduleA,而它不依赖任何东西。(modA是我的核心数据类型和接口,而modB是数据库/数据层)modB也取决于externalLibrary。以我为例,modB将一个类从modA传递给externalLibrary,这需要注释某些方法。特定的注释都是externalLib的一部分,正如我所说的,modA不依赖externalLib,我想保持这种方式。 那么,这是否可能,或者您对解决此问题的其他方式有建议吗?

6
如何在Java中从常量向枚举提供枚举值
我无法使用从常量中获取的枚举作为注释中的参数。我收到此编译错误:“注释属性[attribute]的值必须是一个枚举常量表达式”。 这是枚举代码的简化版本: public enum MyEnum { APPLE, ORANGE } 对于注释: @Retention(RetentionPolicy.RUNTIME) @Target({ ElementType.METHOD }) public @interface MyAnnotation { String theString(); int theInt(); MyEnum theEnum(); } 和班级: public class Sample { public static final String STRING_CONSTANT = "hello"; public static final int INT_CONSTANT = 1; public static final MyEnum MYENUM_CONSTANT = …

3
@Override是什么意思?
public class NaiveAlien extends Alien { @Override public void harvest(){} } 我试图理解我朋友的代码,但是代码中没有语法@Override。这有什么作用,为什么我们需要编码?谢谢。


3
ggplot2-在情节之外进行注释
我想将样本大小值与绘图上的点相关联。我可以geom_text用来将数字定位在点附近,但这很混乱。将它们沿着地块的外部边缘对齐会更清洁。 例如,我有: df=data.frame(y=c("cat1","cat2","cat3"),x=c(12,10,14),n=c(5,15,20)) ggplot(df,aes(x=x,y=y,label=n))+geom_point()+geom_text(size=8,hjust=-0.5) 产生此图: 我更喜欢这样的东西: 我知道我可以创建第二个图并使用grid.arrange(la la post),但是确定textGrobs的间距与y轴对齐将很繁琐。有没有更简单的方法可以做到这一点?谢谢!
73 r  annotations  ggplot2 

3
@ConditionalOnProperty注释的目的是什么?
我刚刚修改了spring boot的配置,遇到了 @ConditionalOnProperty(prefix = "spring.social.", value = "auto-connection-views") 从 org.springframework.boot.autoconfigure.social.TwitterAutoConfiguration @Bean(name = { "connect/twitterConnect", "connect/twitterConnected" }) @ConditionalOnProperty(prefix = "spring.social.", value = "auto-connection-views") public View twitterConnectView() { return new GenericConnectionStatusView("twitter", "Twitter"); } 我不了解此注释的目的。我猜想只有在属性值存在的情况下(例如“ spring.social”,“ auto-connection-views”),才可以使用bean。

4
Java方法注释如何与方法覆盖一起使用?
我有一个父类Parent和一个子类Child,因此定义为: class Parent { @MyAnnotation("hello") void foo() { // implementation irrelevant } } class Child extends Parent { @Override foo() { // implementation irrelevant } } 如果我得到Method参考Child::foo,childFoo.getAnnotation(MyAnnotation.class)会给我@MyAnnotation吗?还是会null? 我对注释如何与Java继承一起工作或是否与Java继承一起工作更感兴趣。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.