将代码放在匿名括号中可以节省内存?

Enclose code in anonymous brackets saves memory?

我是初学者,出于某种原因,我喜欢努力节省内存。现在我觉得很好玩。

所以在这个问题中,我有一个匹配 kebab-case 单词的正则表达式,然后将它们变成驼峰式单词,我想知道这是否出现在给定的字符串中。我试过 Matcher.matches() 但我发现它只有在整个字符串匹配时才有效,所以我只能考虑编译正则表达式并使用 Matcher.find() 方法将布尔值放入变量中,但是我想将所有内容括在括号中以节省内存。

这是我的解决方案:

String regex = "(?:([\p{IsAlphabetic}]*)?(-[\p{IsAlphabetic}]+))+";

boolean hasSubSequence;
{
    Matcher m = Pattern.compile(regex).matcher(identifier);
    hasSubSequence = m.find();
}

if (hasSubSequence) {
    Matcher kebabCaseMatches = Pattern.compile(regex).matcher(identifier);
    while (kebabCaseMatches.find()) {
        String currentOccurence = kebabCaseMatches.group();
        
        while (currentOccurence.contains("-")) {
            currentOccurence = currentOccurence.replaceFirst("-[\p{IsAlphabetic}]", Character.toString(Character.toUpperCase(currentOccurence.charAt(currentOccurence.indexOf("-") + 1))));
        }
        
        // "identifier" is the function's argument
        identifier = identifier.replaceFirst(regex, currentOccurence);
    }
}

这真的节省内存吗?

您可以在声明 regex(static final?)的地方编译模式一次:将节省速度和许多实例。括号是巫术。