加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

将字符串中的java char转换为lowerCase / upperCase

发布时间:2020-12-15 05:12:48 所属栏目:Java 来源:网络整理
导读:我有一个名为“originalalstring”的字符串,其中包含一个混合大写和小写字符的句子. 我只是想翻转字符串,以便如果一个字符是小写字母使其大写,反之亦然并返回它. 我试过这段代码,它返回upperCase中的原始字符串: for (int i = 0; i originalString.length()
我有一个名为“originalalstring”的字符串,其中包含一个混合大写和小写字符的句子.

我只是想翻转字符串,以便如果一个字符是小写字母使其大写,反之亦然并返回它.

我试过这段代码,它返回upperCase中的原始字符串:

for (int i = 0; i < originalString.length(); i++) {
        char c = originalString.charAt(i);

        if (Character.isUpperCase(c)) {
            originalString += Character.toLowerCase(c);

        }

        if (Character.isLowerCase(c)) {
            originalString += Character.toUpperCase(c);

        }

    }
    return originalString;

解决方法

您正在为原始字符串添加字符.此外,这意味着for循环永远不会到for循环的迭代结束,因为originalString.length()也会更改每个循环.这是一个无限循环.

相反,创建一个StringBuilder,在您迭代原始字符串时存储转换后的字符.将它转换为String并在结尾处返回它.

StringBuilder buf = new StringBuilder(originalString.length());
for (int i = 0; i < originalString.length(); i++) {
    char c = originalString.charAt(i);

    if (Character.isUpperCase(c)) {
        buf.append(Character.toLowerCase(c));

    }
    else if (Character.isLowerCase(c)) {
        buf.append(Character.toUpperCase(c));

    }
    // Account for case: neither upper nor lower
    else {
        buf.append(c);
    }

}
return buf.toString();

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读