【问题标题】:Java method called with reflection only. Annotate?仅使用反射调用的 Java 方法。注释?
【发布时间】:2017-11-13 13:33:23
【问题描述】:

我有一堆从基类 Process 继承的名为 Process0、Process1、Process2 等的类。每个子类都包含相同的静态方法。未来的实现可能会添加更多“ProcessNN”。

我必须迭代所有类并为特定数据从每个类调用相同的方法。 碰巧这个静态方法从来没有被直接调用,只有反射。

如何在每个类中标记/注释此方法,以删除“从未使用过的方法”的警告,并使其免受自动代码优化的影响?

谢谢。

【问题讨论】:

  • 如果是从课外调用的,为什么不公开呢?
  • 它是公开的。但代码优化器认为这些方法“从未使用过”。
  • @OGP 哪个代码优化器?当不使用公共方法时,通常不应该有警告。根据优化器,您可能需要将它们标记为公共 API 以避免这些警告。
  • 例如,我使用 IntelliJ,它总是将这些方法报告为未使用。我从下面添加了注释,它解决了这个问题。

标签: java reflection annotations


【解决方案1】:

您可以添加 @SuppressWarnings("unused") 注释来抑制编译器(和大多数 IDE)警告。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-12
    • 2011-06-21
    相关资源
    最近更新 更多