| 

.NET C# Java Javascript Exception

2
Hallo Leute,

Ich krieg es einfach nicht hin, wie kann ich im Groovy kontrollieren ob ein Objekt in einer ArrayList vorhanden ist?

Hier der Initialcode, welcher nicht funktioniert:
// Get the roles of the current user
def userRoleList = userInstance.getRoles()
// Get all roles
def roleList = Role.list()

// Check if one of the roles are linked to an user
roleList.each() {
if(userRoleList.contains(it)) {
println "Role " + it.authority + " is linked"
} else {
println "Role " + it.authority + " is NOT linked"
}
}


Hier noch der Code von der Methode getRoles() von der Klasse User:
public getRoles() {
UserRole.findAllByUser(this).collect { it.role }
}


Die Methode .contains() gibt immer false zurück. Ist mein Ansatz falsch?

Danke für eure Hilfe,
Jonny
News:
26.05.2011
Gast
21 2
1 Antwort
2
Eine DomainClass hat nicht automatisch eine angepasste Implementierung der equals-Methode. Daher greift die Standard-Implementierung, die auf Objekt-Identität prüft.
Wenn du eine passende equals-Methode in deiner Klasse UserRole einbaust, sollte es funktionieren.

Kleiner Hinweis noch: Wenn du equals implementierst, solltest du auch hashCode implementieren.


Beispiele
26.05.2011
carlptr 777 1 8
Aha, Spring Security hat für meine DomainClasse UserRole schon eine equals-Methode erstellt. Auch eine HashCode Methode gibt es, für ist die gut?

Danke für deinen Tipp, werde mal versuchen diesen Ansatz anzugehen.
– Gast 26.05.2011

Stelle deine List-Frage jetzt!