是否可以使用Java注释更改方法可见性?

是否可以使用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

IntelliJ灰显了我在反射库中使用的一些函数。我想通过注释(例如使用
@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(“未使用的”)
  • 使用IntelliJ“如果由注释,则抑制未使用的警告”功能
  • 禁用未使用的代码检查
  • 第一种方法是立即为其他开发人员工作的方法,也是最明确的方法。这将在eclipse和其他IDE中工作。无需解释在当前搜索范围之外使用了带有
    SuppressWarnings(“unused”)
    注释的声明。 澄清一下:这看起来像是一种语言支持,用于声明已使用的内容,但该注释对开发人员来说是一个提示
    @SuppressWarnings
    是纯源代码注释,在编译或运行时不可用

    第二种方法仅适用于您的计算机,除非您也将项目设置导出到代码库中,并且其他开发人员也使用IntelliJ。 这里解释了这种方法:

    第三个是。。好。。这是一种选择

    下一个问题:这对
    @FXML
    有什么作用?


    我不确定,但我想这是一个插件/IntelliJ功能。模拟从类成员和方法到
    jxml
    文件中特定元素的绑定的边沟图标也是该插件的一个功能

    当你将鼠标悬停在灰显函数上时,IntelliJ会说什么?它是否说从未使用过
    灰显的原因是什么?@Peter它说“从未使用过”,但我确实使用反射调用函数,所以它们实际上被使用了!在我实际使用之前,也许我需要通过反射将函数注册为“已使用”。选项2会很好:一个快速的方法是
    Alt+Enter
    ,光标放在方法上,然后选择
    Suppress for all…
    谢谢!