Tôi tương đối mới đối với Scala và đang cố định nghĩa một phương thức chung chung. Tuy nhiên, khi tôi tham khảo các loại tham số trong phương pháp tôi nhận được "No ClassTag có sẵn cho T". Dưới đây là một ví dụ contrived minh họa vấn đề.Phương pháp chung của Scala - Không có ClassTag nào cho T
scala> def foo[T](count: Int, value: T): Array[T] = Array.fill[T](count)(value)
<console>:7: error: No ClassTag available for T
def foo[T](count: Int, value: T): Array[T] = Array.fill[T](count)(value)
^
Cảm ơn bạn đã giúp đỡ trong việc tìm hiểu điều gì sai ở đây và cách làm ví dụ giả tạo này hoạt động.
Hấp dẫn. Với 'import scala.reflect.ClassTag', nó hoạt động. Cảm ơn. – Chuck
Mọi người cũng có thể tìm thấy hướng dẫn này - http://docs.scala-lang.org/overviews/reflection/typetags-manifests.html - vì ClassManifests sẽ biến mất. – Chuck
Nếu chúng ta so sánh hai giá trị của kiểu T trong thân hàm, chúng ta cần tham số orderer 'implicit' bổ sung vào chú thích' ClassTag'. – AlvaPan