Expand my Community achievements bar.

Dive into Adobe Summit 2024! Explore curated list of AEM sessions & labs, register, connect with experts, ask questions, engage, and share insights. Don't miss the excitement.

Refactor this code to use a "static final" pattern.


Level 5

I've written an API for the navigation and the below line of code is throwing a sonarlint error "Refactor this code to use a 'static final' pattern".




Can someone tell me what is the issue if we replace the special characters like above? And how to resolve it?


3 Replies


Community Advisor

Hello @goyalkritika ,

  • A Pattern is compiled from a String literal or constant and is not stored in a static final reference.

  • String.matches, String.split, String.replaceAll or String.replaceFirst are invoked with a String literal or constant. In this case, the code should be refactored to use a java.util.regex.Pattern while respecting the previous rule.

Here is a recommended way to write your code. Follow this ticket-> https://sonarsource.atlassian.net/browse/RSPEC-4248  


Level 5

@Sady_Rifat I tried making the 'str' variable private static, but it is not accepting it. 


Can you think of any other solution to resolve this issue?