Có cách nào để làm cho groovy bỏ qua các thuộc tính phụ trong bản đồ trong quá trình khởi tạo đối tượng không? Ví dụ:Groovy - Bỏ qua các thuộc tính phụ trong bản đồ trong quá trình đối tượng đối tượng
class Banana{
String name
}
def params = [name:'someGuy', age:13]
new Banana(params)
Trong ví dụ này, groovy ném một số tài sản đó: ngoại lệ tuổi (rõ ràng vì tuổi không được định nghĩa trong lớp Banana Nếu không phải dùng đến tay lập bản đồ chỉ các thuộc tính mong muốn từ bản đồ để các nhà xây dựng. của lớp Chuối, là có một cách để nói với chuối để bỏ qua các thuộc tính thêm?
tôi nhận thấy rằng Grails lớp miền không bị vấn đề này, và tôi muốn các hành vi tương tự ở đây!
Cám ơn sự giúp đỡ và lời khuyên của bạn!
Rõ ràng, bạn phải chắc chắn rằng bản đồ params của bạn không chứa các phím 'class' hoặc 'metaClass', hoặc Exceptions/weirdness sẽ xảy ;-) –
Cảm ơn bạn - Tôi thích điều này tính năng của grails, tôi đã hy vọng nó không phải là thông qua các thủ thuật thông minh nhưng là một tính năng ngôn ngữ để thay thế. Oh well. Workaround của bạn nên làm các trick mặc dù, cảm ơn! – Quad64Bit