开发者社区 问答 正文

在JDK 9及以后版本中,String.charAt方法的开销为什么更大了?

在JDK 9及以后版本中,String.charAt方法的开销为什么更大了?

展开
收起
花开富贵111 2024-08-19 10:44:23 48 分享 版权
1 条回答
写回答
取消 提交回答
  • 在JDK 9及以后版本中,String的内部表示发生了变化,可能同时支持Latin-1编码和UTF-16编码。因此,String.charAt方法需要先判断字符串的编码方式(通过coder字段或类似机制),然后才能从相应的value数组中取出字符。这个额外的编码判断过程增加了String.charAt方法的开销。

    2024-08-19 15:51:56
    赞同 展开评论