Tôi mới vào grails tôi tìm thấy trong rất nhiều ví dụ rằng một biến có thể kết thúc với dấu chấm hỏi (?) như thế nàymục đích dấu chấm hỏi (?) Sau một biến trong Groovy
boolean equals(other) {
if(other?.is(this))
return true
}
trên là gì code contains Nếu điều kiện trong trường hợp kia kết thúc bằng a? vì vậy tôi muốn biết ý nghĩa của đại diện đó
Tôi không quen với Groovy, nhưng 'other.is' hoạt động như thế nào nếu' other' là null? – chepner
Câu hỏi hay. Việc triển khai 'is' nằm trong [DefaultGroovyMethods] (https://github.com/groovy/groovy-core/blob/master/src/main/org/codehaus/groovy/runtime/DefaultGroovyMethods.java#L179) trong đó người gọi và callee được đại diện bởi param cho phương pháp này và sau đó kiểm tra đối tượng tham chiếu bình đẳng, do đó, không có hoạt động được thực hiện trên người gọi. – dmahapatro
NPE = 'NullPointerException' – StockB