Từ REPL:Thêm loại rõ ràng để val ngăn val từ được sử dụng như một hằng số trong chú thích
scala> final val x = "x"
x: java.lang.String("x") = x
scala> @javax.persistence.Table(name = x) case class foo()
defined class foo
scala> final val x:java.lang.String = "x"
x: java.lang.String = x
scala> @javax.persistence.Table(name = x) case class foo()
<console>:6: error: annotation argument needs to be a constant; found: x
@javax.persistence.Table(name = x) case class foo()
Ai đó có thể giải thích tại sao chỉ này hoạt động mà không có một loại?
Tại sao bạn sử dụng từ khóa 'final'? – paradigmatic
cuối cùng là cần thiết để tạo hằng số theo nghĩa đen mà Daniel đề cập bên dưới. Nếu không có nó, bạn sẽ nhận được cùng một lỗi được đề cập ở trên. – scalapeno