@IntDef的使用

时间:2025-02-08 14:11:14
  • public class MainActivity extends Activity {  
  •     
  •     //先定义 常量  
  •     public static final int SUNDAY = 0;  
  •     public static final int MONDAY = 1;  
  •     public static final int TUESDAY = 2;  
  •     public static final int WEDNESDAY = 3;  
  •     public static final int THURSDAY = 4;  
  •     public static final int FRIDAY = 5;  
  •     public static final int SATURDAY = 6;  
  •     
  •     //用 <span></span>@IntDef "包住" 常量;  
  •     // @Retention 定义策略  
  •     // 声明构造器  
  •     @IntDef({SUNDAY, MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY})  
  •     @Retention()  
  •     public @interface WeekDays {}  
  •     
  •     @WeekDays int currentDay = SUNDAY;  
  •     
  •     @Override  
  •     protected void onCreate(Bundle savedInstanceState) {  
  •         super.onCreate(savedInstanceState);  
  •         setContentView(.activity_main);  
  •         setCurrentDay(WEDNESDAY);  
  •     
  •         //声明变量  
  •         @WeekDays int today = getCurrentDay();  
  •     
  •         switch (today){  
  •             case SUNDAY:  
  •                 break;  
  •             case MONDAY:  
  •                 break;  
  •             case TUESDAY:  
  •                 break;  
  •             case WEDNESDAY:  
  •                 break;  
  •             case THURSDAY:  
  •                 break;  
  •             case FRIDAY:  
  •                 break;  
  •             case SATURDAY:  
  •                 break;  
  •             default:  
  •                 break;  
  •         }  
  •     
  •     }  
  •     
  •     public void setCurrentDay(@WeekDays int currentDay) {  
  •         this.currentDay = currentDay;  
  •     }  
  •     
  •     @WeekDays  
  •     public int getCurrentDay() {  
  •         return currentDay;  
  •     }  
  • }