第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將 vararg 參數(shù)傳遞給 Kotlin 中的另一個函數(shù)時的編譯時錯誤

將 vararg 參數(shù)傳遞給 Kotlin 中的另一個函數(shù)時的編譯時錯誤

藍山帝景 2021-06-18 18:19:52
我試圖在 Kotlin 中接受一個 vararg 參數(shù)作為函數(shù)參數(shù),并嘗試將它傳遞給另一個帶有 vararg 參數(shù)的函數(shù)。但是,這樣做會給我一個編譯時錯誤,type mismatch: inferred type is IntArray but Int was expected.科特林:fun a(vararg a: Int){   b(a) // type mismatch inferred type is IntArray but Int was expected}fun b(vararg b: Int){}但是,如果我在 Java 中嘗試相同的代碼,它會起作用。爪哇:void a(int... a) {    b(a); // works completely fine}void b(int... b) {}我怎樣才能解決這個問題?
查看完整描述

2 回答

?
慕工程0101907

TA貢獻1887條經(jīng)驗 獲得超5個贊

只需*在您傳遞的參數(shù)(擴展運算符)前面放一個,即


fun a(vararg a: Int){

  // a actually now is of type IntArray

  b(*a) // this will ensure that it can be passed to a vararg method again

}


查看完整回答
反對 回復(fù) 2021-06-30
?
慕妹3146593

TA貢獻1820條經(jīng)驗 獲得超9個贊

函數(shù)a內(nèi)部的參數(shù)a()有類型IntArray,varargs傳遞給 時需要再次轉(zhuǎn)換為b. 這可以通過“擴展運算符”來完成:*


fun a(vararg a: Int) {

    b(*a) // spread operator

}


查看完整回答
反對 回復(fù) 2021-06-30
  • 2 回答
  • 0 關(guān)注
  • 337 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號