How to only allow certain values as parameter for a method in Java?

前端 未结 3 2370
暖寄归人
暖寄归人 2021-02-20 02:03

I want to write a method that only takes certain values for a parameter, like f.e. in the Toast class in Android. You can only use Toast.LENGTH_SHORT o

3条回答
  •  别那么骄傲
    2021-02-20 03:08

    You can use @IntDef or @StringDef annotations for your methods like this:

    @Retention(SOURCE)
    @IntDef({NAVIGATION_MODE_STANDARD, NAVIGATION_MODE_LIST, NAVIGATION_MODE_TABS})
    public @interface NavigationMode {}
    public static final int NAVIGATION_MODE_STANDARD = 0;
    public static final int NAVIGATION_MODE_LIST = 1;
    public static final int NAVIGATION_MODE_TABS = 2;
    ...
    public abstract void setNavigationMode(@NavigationMode int mode);
    @NavigationMode
    public abstract int getNavigationMode();
    

提交回复
热议问题