You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Code.java 968B

123456789101112131415161718192021222324252627282930
  1. import org.aspectj.lang.annotation.*;
  2. import org.aspectj.lang.*;
  3. @Aspect
  4. public class Code {
  5. @Around(value = "args(regex, replacement) && target(targetObject) " +
  6. "&& call(public String String.replaceFirst(String, String)) "
  7. //, argNames = "proceedingJoinPoint,targetObject,regex,replacement,thisJoinPoint"
  8. )
  9. public String replaceFirstAspect(ProceedingJoinPoint proceedingJoinPoint, String targetObject, String regex, String replacement) throws Throwable {
  10. System.out.println("targetObject = "+targetObject);
  11. System.out.println("regex = "+regex);
  12. System.out.println("replacement = "+replacement);
  13. String returnObject = (String) proceedingJoinPoint.proceed(new Object[]{ targetObject, regex, replacement});
  14. return returnObject;
  15. }
  16. public static void main(String []argv) {
  17. new Code().run();
  18. }
  19. public void run() {
  20. String s = "hello";
  21. s = s.replaceFirst("l","7");
  22. System.out.println(s);
  23. }
  24. }