2

Eclipse 提供了打开字段声明、调用方法等的功能。

F3右键单击 => 打开声明Ctrl + 单击调用的方法

但是,在枚举方法的情况下,此功能不起作用,例如 MyEnum.values();在我的代码中的某处被调用,并且尝试values()使用上述组合打开声明显然不起作用。

为什么 Eclipse 不打开此类枚举方法的声明?

4

1 回答 1

3

为什么 Eclipse 不打开此类枚举方法的声明?

因为它们根本没有在源代码中声明。它们是由编译器自动提供的——你希望被带到哪里?Ctrl-clicking MyEnum(而不是values()方法)应该打开枚举没有问题。

JLS 的第 8.9.3 节

枚举类型 E 的成员如下:

  • ...
  • 以下隐式声明的方法:

    /* javadoc... */
    public static E[] values();
    
    /* javadoc... */
    public static E valueOf(String name);
    

请注意,正常的“转到声明”技术应该适用于源代码中真正存在的任何方法。

于 2014-04-25T13:15:48.210 回答