Ich verwende derzeit JoinPoint, um die Parameter zu erfassen, die zur Laufzeit an die Servicemethoden übergeben werden. Obwohl JoinPoint mir hilft, die Parameterwerte abzurufen, sehe ich, dass es keine gute API zum Abrufen der Namen der Parameter, Parametertypen, einzelner Parameterwerte liefert, wenn der übergebene Parameter ein Array usw. ist.
Hier ist ein Beispiel:
%Vor%Für die obige Methode, wenn ich JoinPoint.getArgs () verwende, sehe ich einen Müllwert für den Parameter, der ein Array oder eine Sammlung ist. Wenn der Parameter ein Array oder eine Sammlung ist, wie kann ich überprüfen, ob es sich um einen dieser Parameter handelt, und wie kann ich sie durchlaufen, um einzelne Werte abzurufen?
Irgendwelche Vorschläge? Danke
Das sollte funktionieren:
%Vor%Die ParameterNames sollten mit dem übereinstimmen, was Sie übergeben haben.
Update 1: Sie kompilieren wahrscheinlich mit deaktivierten Debugging-Symbolen - (explizit übergeben Sie javac -g: none oder durch Flags in maven / ant). Wenn die Debugging-Symbole deaktiviert sind, sind die Namen nicht verfügbar und werden vom Compiler durch args1 usw. ersetzt. Versuchen Sie es mit einer Kompilierung, bei der Debug-Symbole nicht explizit deaktiviert sind.
Tags und Links aspectj