2012-05-01 26 views
6

Tôi đang cố gắng chuyển một số mã java vào scala. Mã này sử dụng chú thích với một thành viên được gọi là type tuy nhiên đây là một từ khóa trong scala. Có cách nào để giải quyết thành viên java hợp lệ này trong scala?Không thể đặt thành viên chú thích java được gọi là nhập bằng scala?

Đây là mã Java

@Component(
     name = "RestProcessorImpl", 
     type = mediation // Compile error 
     ) 
public class RestProcessorImpl { 
// impl 
} 

Phần này của mã này là giống hệt nhau trong scala trừ type đó là một từ khóa để nó không biên dịch. Có cách nào để thoát khỏi từ khóa type không?

Đây cũng là một vấn đề với các lớp học java với một type viên

HasType.java

package spike1; 

public class HasType { 
    public String type() { 
     return "the type"; 
    } 
} 

UseType.scala

class UseType { 
    def hasType = new HasType 
    hasType.type() // Compile error 
} 

Trả lời

15

Bạn có thể sử dụng để có được backticks xung quanh số nhận dạng bất hợp pháp:

val type = 1 // error 
val `type` = 1 // fine 

Vì vậy, với mã của bạn, bạn có thể làm điều này:

val hasType = new HasType 
hasType.`type`() // no error 
+0

Tuyệt vời, tôi biết rằng chắc chắn phải có một cách, đó chỉ là những gì tôi đang tìm kiếm. – iain

Các vấn đề liên quan