Java 中是否有现有的库方法可以检查 String 是全大写还是小写?

2024-02-04

我知道有很多upper()Java 和其他框架(如 Apache commons lang)中的方法,将字符串转换为全部大写。

是否有任何通用库提供类似的方法isUpper(String s) and isLower(String s),检查字符串中的所有字符是大写还是小写?

EDIT:

关于转换为 Upper 并与此进行比较的许多好的答案。我想我应该更具体一点,并说我已经想到了这一点,但我希望能够使用现有的方法来实现这一点。

关于可能将其包含在 apache.commons.lang.StringUtils 中的好评论。 有人甚至提交了补丁(20090310)。希望我们很快就能看到这一点。https://issues.apache.org/jira/browse/LANG-471 https://issues.apache.org/jira/browse/LANG-471

EDIT:

我需要这种方法的目的是将有时全部大写的酒店名称大写。我只想将它们全部大写或小写。 我确实遇到了一些帖子中提到的非字母字符的问题,最后做了这样的事情:

private static boolean isAllUpper(String s) {
    for(char c : s.toCharArray()) {
       if(Character.isLetter(c) && Character.isLowerCase(c)) {
           return false;
        }
    }
    return true;
}

这个讨论和不同的解决方案(具有不同的问题)清楚地表明,在 commons.lang 中需要一个良好可靠的 isAllUpper(String s) 方法

在那之前我猜想myString.toUpperCase().equals(myString)是最好的方法。


现在在 StringUtils 中全部大写 http://commons.apache.org/proper/commons-lang/javadocs/api-3.1/org/apache/commons/lang3/StringUtils.html#isAllUpperCase(java.lang.CharSequence)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java 中是否有现有的库方法可以检查 String 是全大写还是小写? 的相关文章

随机推荐