开发者

How do I re-factor references to static enum members

开发者 https://www.devze.com 2023-01-31 02:05 出处:网络
My code consists of references开发者_StackOverflow to enumeration in the following fashion. Flowers { ROSE, SUNFLOWER }

My code consists of references开发者_StackOverflow to enumeration in the following fashion.

Flowers { ROSE, SUNFLOWER }

import com.mycompany.Flowers;

class A {
    public void foo(...) {
        Flowers flower = Flowers.ROSE;
    }
}

I would like the above code to use static references to Flowers, the code would then look like

import static com.mycompany.Flowers.ROSE;

Flowers flower = ROSE;

How can I re-factor my code (using Eclipse) to use static references of enums instead of the normal referencing mechanism. Is there a way to tell Eclipse to modify all regular enum references to static references?


That's probably not as proficient as you're looking for, but Ctrl + Shift + M on the reference of a static object will statically import it (works for members and methods alike)... That way you can achieve your static imports one-by-one.

I'm interested too in other ideas, though


Simply hit Ctrl + Shift + M on the word Rose and you will see that it is statically imported.


Here's how you can do it in two simple steps:

  • Use a find and replace maybe with a regular expression to change all the instances Flowers.NAME to just NAME.
  • Then do a project wide 'Organize imports' like so: Select the project in the package explorer and press Ctrl + Shift + O (same keystroke as the single class version). Should work for packages, etc.. Bobs your uncle. (From this answer).
0

精彩评论

暂无评论...
验证码 换一张
取 消