千家信息网

scala隐式转换优先级问题举例分析

发表于:2025-01-16 作者:千家信息网编辑
千家信息网最后更新 2025年01月16日,本篇内容介绍了"scala隐式转换优先级问题举例分析"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!隐
千家信息网最后更新 2025年01月16日scala隐式转换优先级问题举例分析

本篇内容介绍了"scala隐式转换优先级问题举例分析"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

隐式转换编译器会优先选择方法的参数作为转换对象,验证如下:

  1. object rct {



  2. implicit def intToBook(num:Int) = new Book(num)

  3. implicit def bookToInt(book:Book) = book.number


  4. class Book(val number:Int){


  5. def + ( that : Book ) = new Book( this.number + that.number )


  6. }



  7. def main(args: Array[String]): Unit = {



  8. val book1 = new Book(100)

  9. val book2 = new Book(200)


  10. val book3 = book1 + book2

  11. println(book3.isInstanceOf[Book])


  12. val book4 = book1 + 200

  13. println(book4.isInstanceOf[Book])


  14. val book5 = 200 + book1

  15. println(book5.isInstanceOf[Int])


print:

true
true
true

"scala隐式转换优先级问题举例分析"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

0