久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

java - 參數列表上的注解可以同時有多個嗎?

瀏覽:123日期:2024-01-05 09:12:29

問題描述

我有一個方法,在參數列表上有一個參數(接受一個顏色類型),數據類型是int型

但是我的方法內部,這個int型根據傳入的一個boolean類型做了判斷,所以它

* 既可以是`@ColorRes` (顏色代碼的資源ID,int類型) * 也可以是`@ColorInt` (顏色代碼在Color類中的成員變量,int類型)

但是方法參數上又不能寫(@ColorRes|@ColorInt) 同樣的參數列表也不能用方法重載來搞定。所以就想問一下有沒有辦法可以讓兩個注解同時生效的?

問題解答

回答1:

多注解代碼如下:

public void setColor(@ColorInt @ColorRes int color){ // TODO }

這么寫是有問題的. 對IDE來說, 這是有歧義的, 你又要是Color色值, 又要是Color資源引用, 會有這樣的Int值嗎?本身這類注解只是IDE輔助用的, 即編譯時就發現問題, 打開Inspections可以禁用這類Lint, 如下圖:

java - 參數列表上的注解可以同時有多個嗎?

為什么不參考Android源碼的方式來, 而非得定義一個讓調用者抓狂的方法, 源碼如下:

public void setBackgroundColor(@ColorInt int color) { ...}public void setBackgroundResource(@DrawableRes int resid) { ...}

標簽: java
相關文章:
主站蜘蛛池模板: 临潭县| 天津市| 赤壁市| 汝南县| 平潭县| 松江区| 永修县| 五华县| 石狮市| 桦南县| 开远市| 宁化县| 九龙县| 六安市| 侯马市| 奉节县| 扬中市| 石首市| 峨边| 临安市| 章丘市| 红河县| 子长县| 满洲里市| 阜平县| 正蓝旗| 图木舒克市| 德惠市| 靖宇县| 阿克| 环江| 元阳县| 双峰县| 莆田市| 南投市| 措勤县| 红安县| 巴彦县| 拉萨市| 茶陵县| 滦平县|