亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Scala隱式轉換的簡單介紹

發布時間:2021-09-16 17:20:19 來源:億速云 閱讀:105 作者:chen 欄目:大數據

這篇文章主要介紹“Scala隱式轉換的簡單介紹”,在日常操作中,相信很多人在Scala隱式轉換的簡單介紹問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Scala隱式轉換的簡單介紹”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

Scala的隱式轉換,其實最核心的就是定義隱式轉換函數,即implicitconversion function。定義的隱式轉換函數,只要在編寫的程序內引入,就會被Scala自動使用。Scala會根據隱式轉換函數的簽名,在程序中使用到隱式轉換函數接收的參數類型定義的對象時,會自動將其傳入隱式轉換函數,轉換為另外一種類型的對象并返回。這就是“隱式轉換”。
通常建議將隱式轉換函數的名稱命名為“one2one”的形式。
隱式轉換函數與普通函數唯一的語法區別就是,要以implicit開頭,而且最好要定義函數返回類型。

implicit  def double2Int(d:Double):Int={      d.toInt    }    val v:Int = 3.0    println(v)

##注意細節
隱式轉換函數的函數名可以是任意的,隱式轉換與函數名稱無關,只與函數簽名(函數參數類型和返回值類型)有關。
隱式函數可以有多個(即:隱式函數列表),但是需要保證在當前環境下,只有一個隱式函數能被識別

class developer {  def select(): Unit = {    println("select data")  }}class admin {  def delete(): Unit = {    println("delete data")  }}object TransformObjectApp {  def main(args: Array[String]): Unit = {    implicit def deleteData(dev: developer): admin = {      new admin    }    val d = new developer    d.select()    d.delete()  }}

##隱式值
隱式值也叫隱式變量,將某個形參變量標記為implicit,所以編譯器會在方法省略隱式參數的情況下去搜索作用域內的隱式值作為缺省參數

到此,關于“Scala隱式轉換的簡單介紹”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

库尔勒市| 广饶县| 凤凰县| 泗阳县| 英超| 社旗县| 肥东县| 穆棱市| 依安县| 新和县| 武定县| 双鸭山市| 阿图什市| 丹阳市| 宜宾县| 棋牌| 通榆县| 通河县| 锦州市| 南乐县| 高唐县| 博白县| 攀枝花市| 岐山县| 大邑县| 榆中县| 兴海县| 静海县| 喀什市| 始兴县| 淄博市| 克什克腾旗| 东山县| 肃南| 青龙| 陆川县| 阜新市| 贺州市| 柳林县| 沅江市| 张掖市|