Tag: 注释

如何更有效地使用@Nullable和@Nonnull注释

我可以看到@Nullable和@Nonnull注释有助于防止NullPointerException但是它们不会传播很远。 这些注释的有效性在一层间接后完全消失,所以如果只添加一些注释,它们就不会传播很远。 由于这些注释没有被很好地执行,所以存在假设用@Nonnull标记的值不为空并且因此不执行空检查的危险。 下面的代码会使用@Nonnull标记的参数为null而不会引发任何投诉。 它在运行时抛出一个NullPointerExceptionexception。 public class Clazz { public static void main(String[] args){ Clazz clazz = new Clazz(); // this line raises a complaint with the IDE (IntelliJ 11) clazz.directPathToA(null); // this line does not clazz.indirectPathToA(null); } public void indirectPathToA(Integer y){ directPathToA(y); } public void directPathToA(@Nonnull Integer x){ x.toString(); // do stuff to x […]

为注解字段设置默认空值时出错

为什么我得到一个错误“属性值必须是常量”。 不是空常量? @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) public @interface SomeInterface { Class<? extends Foo> bar() default null;// this doesn't compile }

PHP函数注释

只是一个简单的问题:我已经看到一些PHP函数在顶部被注释了,使用一种我不知道的格式: /** * * Convert an object to an array * * @param object $object The object to convert * @return array * */ 我的IDE给我一个下拉select的东西,如@参数和@返回,所以它必须logging在某处。 我试过search谷歌,但它不会在search中包含@符号。 这种评论forms是什么,我可以在哪里find一些信息?

Android Retrofit参数化的@Headers

我正在使用OAuth,每次发出请求时都需要将OAuth令牌放入我的头文件中。 我看到@Header注释,但有没有办法让它参数化,所以我可以在运行时传入? 这是概念 @Header({Authorization:'OAuth {var}', api_version={var} }) 你可以在运行时传递他们吗? @GET("/users") void getUsers( @Header("Authorization") String auth, @Header("X-Api-Version") String version, Callback<User> callback )

有没有像在Java中的注释inheritance?

我正在探索注释,并且发现一些注释似乎在其中有层次结构。 我使用注释在卡片的背景中生成代码。 有不同的卡片types(因此不同的代码和注释),但是它们之间有一些常见的元素,如名称。 @Target(value = {ElementType.TYPE}) public @interface Move extends Page{ String method1(); String method2(); } 这将是常见的注释: @Target(value = {ElementType.TYPE}) public @interface Page{ String method3(); } 在上面的例子中,我期望移动inheritance方法3,但我得到一个警告,说延伸是无效的注释。 我试图让一个注释扩展一个共同的基础之一,但这是行不通的。 这是甚至可能或只是一个devise问题?

如何为自己的注释创build可选参数?

以下是注释代码 public @interface ColumnName { String value(); String datatype(); } 例如,我想使datatype成为可选参数 @ColumnName(value="password") 应该是有效的代码。

在javax.annotation中找不到@Nullable。*

我想使用@Nullable注释来消除NullPointerExceptions 。 我在网上find了一些教程,我注意到这个注释来自javax.annotation.Nullable包; 但是当我导入它会产生一个编译错误:找不到符号

如何从Guice的注入器中检索带注释的实例?

比方说,我有一个模块: Module extends AbstractModule { @Override protected void configure() { bind(String.class). annotatedWith(Names.named("annotation")). toInstance("DELIRIOUS"); } } 我想testing模块,并检查它是否注入了Names.named("annotation")注释的String字段中的正确值,而没有类和字段,但直接从注入器获取值: @Test public void test() { Injector injector = Guice.createInjector(new Module()); // THIS IS NOT GOING TO WORK! String delirious = injector.getInstance(String.class); assertThat(delirious, IsEqual.equalTo("DELIRIOUS"); }

@Override是什么意思?

public class NaiveAlien extends Alien { @Override public void harvest(){} } 我试图了解我的朋友的代码,我没有得到在代码中的@Override语法。 这是做什么的,为什么我们需要编码? 谢谢。

我如何在MySQL中添加注释?

我想在SQL代码中添加注释。 我怎样才能做到这一点? 我正在使用MySQL。