新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Scala隱式轉(zhuǎn)換及代碼示例-創(chuàng)新互聯(lián)
背景
本文題目:Scala隱式轉(zhuǎn)換及代碼示例-創(chuàng)新互聯(lián)
鏈接地址:http://biofuelwatch.net/article/dhicpd.html
最近開始學習Scala語言,雖然有Java的基礎(chǔ),但是很多東西還是不一樣的。這篇文章主要說一下隱式轉(zhuǎn)換。
成都創(chuàng)新互聯(lián)專注于古縣企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站建設(shè),商城網(wǎng)站建設(shè)。古縣網(wǎng)站建設(shè)公司,為古縣等地區(qū)提供建站服務(wù)。全流程定制開發(fā),專業(yè)設(shè)計,全程項目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)應(yīng)用場景隱式轉(zhuǎn)換的應(yīng)用場景:當別人定義的某個類或者SDK的某個類不能滿足你的需求時,你想要為這個類加其他的方法,以前我的做法都是重新定義一個類來重寫別人的類。在scala中提供了隱式轉(zhuǎn)換來解決這個問題。
具體例子1.我要輸出1.txt文件中的內(nèi)容。當我想要使用file類中的read方法時,發(fā)現(xiàn)它沒有這個方法。那我就可以用隱式轉(zhuǎn)換為它提供這個方法。
2.下圖為隱式轉(zhuǎn)換實現(xiàn)上述需求
3.具體代碼如下
import java.io.File
import scala.io.Source
//隱式轉(zhuǎn)換案例
object Demo2 {
//定義RichFile來豐富File類
class RichFile(file:File){
def read()={
Source.fromFile(file).mkString
}
}
//定義一個單例對象,這個對象實現(xiàn)了File到RichFile的隱式轉(zhuǎn)換
object xxx{
implicit def file2RichFile(file:File) = new RichFile(file)
}
def main(args: Array[String]): Unit = {
//導入單例對象的方法
import xxx.file2RichFile
val file = new File("D://1.txt")
println(file.read())
}
}
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧
本文題目:Scala隱式轉(zhuǎn)換及代碼示例-創(chuàng)新互聯(lián)
鏈接地址:http://biofuelwatch.net/article/dhicpd.html