日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

android 接口定义常量,Android开发笔记(5):常量的合理使用

發布時間:2023/12/10 Android 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 接口定义常量,Android开发笔记(5):常量的合理使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今天,我們來聊一些“細枝末節”的問題——java中的常量。覺得很有意思,給大家分享一下:

下面是我見過的幾種常量定義操作:

1.普通款:

public class Constants {

private Constants(){}

public static final int MAX = Integer.MAX_VALU;//最大值

public static final int MIN = Integer.MIN_VALU;//最小值

}

最簡單的一種,需要定義成final且定義一個private的構造方法,這樣做是為了不讓其他類繼承,禁止實例化此類,調用時直接以"類.常量"的方式調用。

當然,大部分時候,我們都放在相關的類里,而不是單獨抽取出來。

2.接口

public interface Constants {

int MAX = Integer.MAX_VALUE;//最大值

int MIN = Integer.MIN_VALU;//最小值

}

接口中定義,接口中的"變量"默認都是 "public static final"類型,即為常量,因此接口可以省略。

3.枚舉款(這個詳細說一下)

假設服務端下發了一個“tag”字段,1代表通過,2代表不通過,3代表延期審核。枚舉可以這樣用:

public enum Constants {

PASS(1),NOPASS(2),DELAY(3);

private final int state;

Constants(int state){

this.state = state;

}

public int getstate() {

return state;

}

}

//使用

...

if (getUserState() == Constants.PASS.getstate()) {

//此人審核未通過

}

他的優點有啥呢?

(1)枚舉常量更簡單

枚舉只需要定義每個枚舉項,不需要定義枚舉值。

(2)枚舉常量屬于穩態型

以上面的代碼舉例:得到數據以后getUserState(),普通常量,你需要判斷邊界值,比如獲取的值為-1就會出現很多問題。而枚舉只能是其中一個實例。

(3)擴展性強

有一天產品告訴你,現在需要根據狀態相應顏色,分別是“紅色”、“藍色”、“白色”。

那么只要稍微改一下代碼就完事了。

public enum Constants {

PASS(1,Colors.red),NOPASS(2,Colors.buld),DELAY(3,,Colors.red);

private final int state;

private final int color;

Constants(int state,int color){

this.state = state;

this.color =cor

}

public int getcolor() {

return color;

}

}

方法實現接口,demo(@Contract.Type int action) 用注解標明方法使用常量,增加了常量與方法的關聯感

(4)注解款

@IntDef({SELECT_ACHIEVEMENT, SELECT_TASK, SELECT_MEMBER, SELECT_BUY})

@Retention(RetentionPolicy.SOURCE)

@interface SelectBuyType {

}

總結

以上是生活随笔為你收集整理的android 接口定义常量,Android开发笔记(5):常量的合理使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。