Đối với chuyển đổi ngầm tại Scala, tôi có thể sử dụng chức năng chuyển đổi ngầmSự khác nhau giữa chuyển đổi với chức năng tiềm ẩn và lớp tiềm ẩn trong Scala
implicit def intToX(i:Int):X = new X(i)
1.myMethod // -1
hoặc ngầm lớp
implicit class X(i: Int) {
def myMethod = - i
}
1.myMethod // -1
Có sự khác biệt giữa hai? Khi nào tôi nên thích cái này hơn cái kia?
Có một câu hỏi liên quan về implicit conversion vs. type class nhưng nó chỉ so sánh chức năng tiềm ẩn và các lớp học kiểu. Điều tôi quan tâm là sự khác biệt từ các lớp ẩn số .
Cảm ơn, đó chính xác là những gì tôi muốn biết! – Mifeet