国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

java - 參數(shù)列表上的注解可以同時(shí)有多個(gè)嗎?

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

問題描述

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

但是我的方法內(nèi)部,這個(gè)int型根據(jù)傳入的一個(gè)boolean類型做了判斷,所以它

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

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

問題解答

回答1:

多注解代碼如下:

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

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

java - 參數(shù)列表上的注解可以同時(shí)有多個(gè)嗎?

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

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

標(biāo)簽: java
相關(guān)文章:
主站蜘蛛池模板: 云林县| 浪卡子县| 万荣县| 化隆| 平舆县| 安国市| 新建县| 昌宁县| 瓦房店市| 潼南县| 商都县| 柏乡县| 英山县| 凤冈县| 新兴县| 洛川县| 龙南县| 兴国县| 昌图县| 大丰市| 鄂伦春自治旗| 昆山市| 温州市| 甘洛县| 文安县| 嘉善县| 临漳县| 东辽县| 新乡市| 温宿县| 库尔勒市| 玛纳斯县| 土默特左旗| 科技| 资兴市| 鄱阳县| 泸西县| 古丈县| 罗甸县| 古浪县| 马关县|