請問反射獲取指定方法,實參如何根據形參實現自動型別提公升的功能?

時間 2021-06-01 23:13:20

1樓:wkGCaSS

我做過類似的東西

第一步篩選所有可以呼叫的方法

即方法名稱相同,方法每個parameter都是argument型別的父類或者可以由argument隱式轉換得到

第二步在篩選結果中找出引數需要轉換次數最少的方法

例如引數(int,double)

有方法(int,double)/(Number,Double)/(Object,Object)

第乙個需要轉換(0,0)次

第二個需要轉換(2,1)次,int->Integer->Number/double->Double

第三個需要轉換(4,4)次

所以選擇第乙個進行呼叫。

若出現某個方法(1,2)次,另乙個(2,1)次則報錯

第三步將型別轉換為對應型別

第四步呼叫

====

這是我在寫乙個編譯器時使用的做法,不知是否最好,不過目前看起來還是挺不錯的

2樓:

我記得spring原始碼中有題主想要的,在BridgeMethodResolver類中,根據橋接方法找到泛型方法,先根據方法名匹配,然後再匹配引數長度,最後再根據引數型別來決議,具體你看它的原始碼實現~

請問xlwings如何獲取有資料的所有行數和列數?

import xlwings asxw xw visible False add book False wb books open r 工作簿1.xlsx ws wb.sheets Sheet1 ws used range shape 如果有中間有空格或者後面有空格的話,openpyxl的Sheet...

請問如何提高長跑成績。求詳細方法?

美魔女健身教練 建議提高髖關節穩定性肌肉的耐力。髖關節穩定性肌肉耐力,是指髖部穩定性肌肉可以重複產生足夠的力量,以便吸收著地時重複產生的衝擊負荷。以90步每分鐘的步頻跑步乙個小時,髖關節穩定性肌肉要收縮5400次,因此,必須具備足夠的肌肉耐力。肌肉和電池一樣,也是會沒電的。在長跑運動過程當中肌肉儲存...

請問如何用數學方法證明K means是EM演算法的特例?

霖霖霖丶 寫點個人的想法。總的來說,GMM與kmeans的關聯在於 在權重一致 協方差矩陣為單位陣 硬分配的情況下,kmeans是GMM的乙個特例 GMM通過soft EM推導,kmeans可通過hard EM推導 由於協方差為單位矩陣,故kmeans聚類的形狀是球形的,而GMM是橢球型的。 趙易明...