Skip to content

Access Java enum with same name as static method #8187

Answered by headius
mrckzgl asked this question in Q&A
Discussion options

You must be logged in to vote

I've filed a bug for this in #8188.

A workaround for you for now would be to use reflection to access the enum values:

[] jruby $ cat Blah.java
public enum Blah {
    blah1, blah2;

    public static void blah1() {}
}
[] jruby $ jruby -e 'p Java::Blah.blah1, Java::Blah.blah2'
nil
blah2
[] jruby $ jruby -e 'p Java::Blah.java_class.get_field("blah1").get(nil), Java::Blah.blah2'
blah1
blah2

You should be able to take this further and define Ruby capitalized constants for those values, and just use the constants in your code.

Replies: 3 comments 2 replies

Comment options

You must be logged in to vote
1 reply
@mrckzgl
Comment options

Comment options

You must be logged in to vote
0 replies
Comment options

You must be logged in to vote
1 reply
@mrckzgl
Comment options

Answer selected by mrckzgl
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
3 participants