Tôi làm việc với Spark thường xuyên, và nó sẽ tiết kiệm cho tôi rất nhiều thời gian nếu trình biên dịch có thể đảm bảo rằng một loại có thể tuần tự hóa.Có cách nào để đảm bảo loại có thể tuần tự hóa tại thời gian biên dịch
Có thể với một lớp loại?
def foo[T: IsSerializable](t: T) = {
// do stuff requiring T to be serializable
}
Không đủ để hạn chế T <: Có thể tuần tự hóa. Nó vẫn có thể thất bại trong thời gian chạy. Bài kiểm tra đơn vị là một sự thay thế tốt, nhưng bạn vẫn có thể quên chúng, đặc biệt khi làm việc với các đội lớn.
Tôi nghĩ rằng điều này có thể không thể thực hiện tại thời gian biên dịch mà không có các loại được niêm phong.
Câu hỏi phụ: Là T <: Có thể lập lại chỉ một thời gian đảm bảo biên dịch không? – Samar
Bạn có thể xây dựng? Có, nó là một ràng buộc kiểm tra tại thời gian biên dịch. – Upio
Nhưng, điểm của việc có một hệ thống kiểu mạnh mẽ là gì nếu nó không cung cấp bảo đảm thời gian chạy? – Samar