是否可以使用Java注释更改方法可见性?
IntelliJ灰显了我在反射库中使用的一些函数。我想通过注释(例如使用是否可以使用Java注释更改方法可见性?,java,android-studio,intellij-idea,annotations,Java,Android Studio,Intellij Idea,Annotations,IntelliJ灰显了我在反射库中使用的一些函数。我想通过注释(例如使用@MyAnnotation)来防止它们变灰。但到目前为止,我找不到一个方法来做到这一点。到目前为止,我的自定义批注如下所示: import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotatio
@MyAnnotation
)来防止它们变灰。但到目前为止,我找不到一个方法来做到这一点。到目前为止,我的自定义批注如下所示:
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface MyAnnotation {
}
是否有一个默认注释可以添加到我自己的注释中,从而停止智能灰显我的注释方法
我注意到JavaFX没有使用@FXML
注释灰显函数
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD, ElementType.METHOD})
public @interface FXML {
}
但是我在那里看不到任何我还没有使用的东西。未使用的检查是一个IntelliJ功能,其他IDE可能也有该功能,但没有真正定义“使用/未使用”的含义 此外,它不是一种语言特性,因此,在java中定义“已使用”或“未使用”的东西时,没有这种语言支持。 这是对当前代码库的一种解释,如果某些东西正在使用,则是更好的“搜索范围” 例如,方法仅在测试用例中使用的事实可以解释为未使用 回答你的问题。您有3种不同的方法来解决该问题:
SuppressWarnings(“未使用的”)
SuppressWarnings(“unused”)
注释的声明。
澄清一下:这看起来像是一种语言支持,用于声明已使用的内容,但该注释对开发人员来说是一个提示@SuppressWarnings
是纯源代码注释,在编译或运行时不可用
第二种方法仅适用于您的计算机,除非您也将项目设置导出到代码库中,并且其他开发人员也使用IntelliJ。
这里解释了这种方法:
第三个是。。好。。这是一种选择
下一个问题:这对@FXML
有什么作用?
我不确定,但我想这是一个插件/IntelliJ功能。模拟从类成员和方法到
jxml
文件中特定元素的绑定的边沟图标也是该插件的一个功能 当你将鼠标悬停在灰显函数上时,IntelliJ会说什么?它是否说从未使用过
?灰显的原因是什么?@Peter它说“从未使用过”,但我确实使用反射调用函数,所以它们实际上被使用了!在我实际使用之前,也许我需要通过反射将函数注册为“已使用”。选项2会很好:一个快速的方法是Alt+Enter
,光标放在方法上,然后选择Suppress for all…
谢谢!