scala隱式轉換優先順序問題
隱式轉換編譯器會優先選擇方法的引數作為轉換物件,驗證如下:
-
object rct {
-
-
-
implicit def intToBook(num:Int) = new Book(num)
-
implicit def bookToInt(book:Book) = book.number
-
-
class Book(val number:Int){
-
-
def + ( that : Book ) = new Book( this.number + that.number )
-
-
}
-
-
-
def main(args: Array[String]): Unit = {
-
-
-
val book1 = new Book(100)
-
val book2 = new Book(200)
-
-
val book3 = book1 + book2
-
println(book3.isInstanceOf[Book])
-
-
val book4 = book1 + 200
-
println(book4.isInstanceOf[Book])
-
-
val book5 = 200 + book1
- println(book5.isInstanceOf[Int])
-
print:
true
true
true
true
true
true
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29754888/viewspace-2137052/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Scala Essentials: 隱式轉換
- mysql隱式轉換問題MySql
- 何為CSS 樣式優先順序CSS
- CSS優先順序CSS
- 函式宣告與變數宣告的提升機制優先順序問題函式變數
- iOS Autolayout 修改約束優先順序崩潰問題iOS
- python運算子及優先順序順序Python
- Android程式優先順序Android
- 中斷優先順序
- Yacc使用優先順序
- Oracle RAC引數設定優先順序別問題分析Oracle
- toString()和valueOf()函式呼叫和優先順序函式
- Facebook的分散式優先順序佇列FOQS分散式佇列
- Cris 的 Scala 筆記整理(十):隱式轉換筆記
- 雜記四:scala 柯理化和隱式轉換
- [20220811]奇怪的隱式轉換問題.txt
- SpringBoot配置檔案優先順序載入順序Spring Boot
- 運算子的優先順序
- SQL 優先順序join>whereSQL
- java運算子優先順序Java
- 埃航和737MAX墜毀:軟體優先順序問題
- 快應用tabs和video元件滑動事件優先順序問題IDE元件事件
- [譯]HTTP/2的優先順序HTTP
- css 選擇器優先順序CSS
- Yarn任務優先順序配置Yarn
- ansible 變數優先順序示例變數
- C++運算子優先順序C++
- java setPriority()設定優先順序Java
- 封裝優先順序佇列封裝佇列
- Nginx的location規則:優先順序和路徑替換Nginx
- 瞭解GaussDB效能調優之隱式轉換,解決慢SQL問題SQL
- html優先順序和層疊性HTML
- 任務卡片優先順序排序-Leangoo排序Go
- C語言運算子優先順序C語言
- 華為路由協議優先順序路由協議
- 設計中的優先順序(下)
- SAP UI configuration determination的優先順序UI
- 設計中的優先順序(上)
- C 語言運算子優先順序