java 是否将字符串文字优化为LowerCase()?

2023-12-02

java 是否优化字符串文字的操作?例如,是否

"literal".toLowerCase()

总是创建一个新的字符串实例?


toLowerCase() calls toLowerCase(Locale.getDefault()).

查看实现,您会发现原始的String如果不需要更改字符则返回:

public String toLowerCase(Locale locale) {
    if (locale == null) {
        throw new NullPointerException();
    }

    int firstUpper;
    final int len = value.length;

    /* Now check if there are any characters that need to be changed. */
    scan: {
        for (firstUpper = 0 ; firstUpper < len; ) {
            char c = value[firstUpper];
            if ((c >= Character.MIN_HIGH_SURROGATE)
                    && (c <= Character.MAX_HIGH_SURROGATE)) {
                int supplChar = codePointAt(firstUpper);
                if (supplChar != Character.toLowerCase(supplChar)) {
                    break scan;
                }
                firstUpper += Character.charCount(supplChar);
            } else {
                if (c != Character.toLowerCase(c)) {
                    break scan;
                }
                firstUpper++;
            }
        }
        return this; // the original String is returned
    }
    ...
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java 是否将字符串文字优化为LowerCase()? 的相关文章

随机推荐

  • php 如何转换布尔变量?

    php 如何转换布尔变量 我试图将布尔值保存到数组中 result Users is login true 但是当我使用调试时 is login 值为空 当我执行以下条件时 if result Users is login 条件总是假的 然
  • 将“展开”按钮添加到没有子节点的 JTree 节点?

    我想将 扩展 按钮添加到 JTree 的节点以指示它们是可扩展的 问题是 在用户单击它们之前 它们没有子级 由于在后台进行处理 有什么方法可以将节点设置为父节点或拥有子节点 而无需它实际拥有子节点吗 Thanks 可以使用你自己的Defau
  • 管理对象间关系

    如何为对象的特殊情况编写代码 例如 假设我正在编写一个角色扮演游戏 有 N 5 个类 矩阵中有 N 2 个关系 可以确定角色 A 是否可以攻击 或对角色 B 使用能力 M 暂时忽略其他因素 我如何在 OOP 中对此进行编码 而不用到处放置特
  • 使用嵌套 json 时,排序在 ngTable 中不起作用

    我使用 ngTable 在 angularjs 中创建了一个应用程序 该应用程序工作正常 但排序不起作用 我的 json 结构是嵌套的 但值与表一起正确出现 谁能告诉我一些解决方案 我的代码如下所示 JSFiddle html div ta
  • Vb.net 解密 sha512 哈希

    嘿伙计们 我正在努力解密我的哈希值sha512加密 我正在寻找一种最终解密它的方法 顺便说一句 这就是我进行加密的方式 Dim uEncode As New UTF8Encoding Dim bytClearString As Byte u
  • 如何在 Matplotlib 的子图中单独绘制相同的图形? [复制]

    这个问题在这里已经有答案了 我正在用 Python 编写一个生成许多图表的程序 其中一些图表无论是独立的还是与其他图表相比都很有趣 生成这些图表的成本很高 就运行时间而言 而且我不想多次生成它们 有没有办法生成一次情节 并将其作为子情节的一
  • 使用也处理撇号的正则表达式匹配单词

    我必须将一行文本分成单词 并且对使用什么正则表达式感到困惑 我到处寻找匹配单词的正则表达式 并找到了与这篇文章类似的正则表达式 但希望它在 java 中 java 不处理常规字符串中的 正则表达式匹配单词和带有撇号的单词 我已经尝试了每个答
  • ggplot2 双轴

    这是一个扩展this问题 我目前使用的是最新版本ggplot2 v2 2 0 来自 CRAN 用于在其中创建绘图R 我正在利用 Axeman提供的解决方案here 我遇到的问题是 当我使用小平面时 有时其中一个 y 轴显示非常小的值 我想知
  • image_tag - 有没有办法让 alt attr 默认为空?

    如果图像丢失 我宁愿有一个空白的 alt 属性 而不是图像的文件名 无论如何谁想要这种默认行为 有没有办法进行系统配置 以便 image tag 在没有给出 alt 的情况下设置空白 alt attr 需要明确的是 我对 image tag
  • 当存在 UTF-8 字符时如何将输出定向到文件?

    我有一个 python 脚本 可以从 Twitter API 中获取一堆最近的推文并将它们转储到屏幕上 它工作得很好 但是当我尝试将输出定向到文件时 会发生一些奇怪的事情 并且 print 语句会导致异常 gt tweets py gt t
  • javascript如何在回调函数中获取this.variable

    在下面的javascript自定义类中 在回调中 为什么this obj什么都没有 而局部变量obj有我想要的东西 谢谢 function ClassTest director this obj test1 test1 function t
  • 在 data.table v1.8.10 与 v1.9.2 中对非常小的数字(例如 1e-28)和 0.0 进行分组

    我注意到 R 中的 data table 创建的频率表似乎无法区分非常小的数字和零 我可以改变这种行为还是这是一个错误 可重现的例子 gt library data table DT lt data table c 0 0000000000
  • Quartz PDF API 导致内存不足崩溃

    我在使用 iOS 版 Quartz PDF API 时遇到崩溃问题 目前我正在使用 SDK 4 0 GM Seed 进行编译并在我的 3 2 iPad 上运行 我尝试使用 3 2 SDK 得到相同的结果 我使用的所有代码均基于标准 Appl
  • 如何在linux bash脚本中使用“-”字符(破折号)声明变量名

    我写了简单的脚本如下 bin bash auth type SM Read only Yes SM write only No echo e SM Read only echo e SM Write only if SM Read only
  • Python 产生: OSError: [WinError 193] %1 不是有效的 Win32 应用程序

    在检查了其他相关线程后 我不得不打开这个线程 当尝试跑步时这个存储库我总是收到错误 Traceback most recent call last File C Users jjj evrpogmrl main py line 1 in
  • Hive group by 和 count(distinct) 中的减速器数量

    有人告诉我 count distinct 可能会导致数据倾斜 因为只使用了一个减速器 我使用一个包含 50 亿数据的表和 2 个查询进行了测试 Query A select count distinct columnA from table
  • 如何向maven测试传递参数

    我有一个测试套件在两个环境中运行 有时 我想在 localhost 8080 运行测试 有时在 localhost 8585 运行测试 詹金斯通过 mvn test 命令 如何通过参数传递端口 类似于 mvn test 8080 我在mav
  • 在 SQL 比较中比较 null

    我正在使用 VB6 创建前端 我的数据库是 Sybase 我使用 DSN 创建了一些小 exe 来填充网格中的报告 一切正常 但是 如果我使用下面的查询 我只能得到小时和已回答的数据 如果我在 SQL 查询中执行查询 完整的数据就会出现 我
  • 使用 JavaScript 获取值 GET 或 POST 变量?

    如何使用 JavaScript 获取页面加载时 get 或 post 变量的值 尽管您可以在服务器上处理请求时将其插入到文档中 但您无法使用 Javascript 获取 POST 变量的值
  • java 是否将字符串文字优化为LowerCase()?

    java 是否优化字符串文字的操作 例如 是否 literal toLowerCase 总是创建一个新的字符串实例 toLowerCase calls toLowerCase Locale getDefault 查看实现 您会发现原始的St