当我尝试将以下代码编译为 AIDE 中应用程序的一部分时,我在标题中出现错误。下面的代码来自 Apache WordUtils(我不想为单个事物导入整个库),但我也收到其他代码中的错误。它曾经工作正常,但后来我更新了 AIDE,它停止了工作。它在“修复”选项中没有任何建议(甚至没有“删除”),并且似乎发生在我的所有for
循环中。我得到了两个<
和的错误>
,但不是==
。
我知道这里已经有一个类似的问题,但它没有任何可接受的答案,并且建议的解决方案对我不起作用。
我尝试过刷新构建、删除空格并在循环外定义变量。然而,这些都没有奏效。我也尝试过重新安装 AIDE,并恢复到旧版本,但代码不起作用。
有问题的代码:
public static String capitalize(String str, char[] delimiters) {
int delimLen = (delimiters == null ? -1 : delimiters.length);
if (str == null || str.length() == 0 || delimLen == 0) {
return str;
}
int strLen = str.length();
StringBuffer buffer = new StringBuffer(strLen);
boolean capitalizeNext = true;
for (int i = 0; i < strLen; i++) {
char ch = str.charAt(i);
if (isDelimiter(ch, delimiters)) {
buffer.append(Character.toLowerCase(ch));
capitalizeNext = true;
} else if (capitalizeNext) {
buffer.append(Character.toTitleCase(ch));
capitalizeNext = false;
} else {
buffer.append(ch);
}
}
return buffer.toString();
}
private static boolean isDelimiter(char ch, char[] delimiters) {
if (delimiters == null) {
return Character.isWhitespace(ch);
}
for (int i = 0, isize = delimiters.length; i < isize; i++) {
if (ch == delimiters[i]) {
return true;
}
}
return false;
}