gpt4 book ai didi

java - word.toUpperCase().chars() 或 word.chars().map(Chars::toUpperCase) 哪个更好?

转载 作者:行者123 更新时间:2023-12-04 14:43:38 25 4
gpt4 key购买 nike

我们需要从大写字符串中获取字符流。有两种方法:

  1. word.toUpperCase().chars()

  2. word.chars().map(Character::toUpperCase)

哪种方法更好?

附:根据评论中的要求,我指定了使用代码的整个方法:

private int[] toSortedChars(final String word) {
return word.chars().map(Character::toLowerCase).sorted().toArray();
}

该方法用于解题: https://exercism.org/tracks/java/exercises/anagram

最佳答案

第一种方法更好。

Character.toUpperCase 的 Javadoc 提到:

In general, String.toUpperCase() should be used to map characters to uppercase. String case mapping methods have several benefits over Character case mapping methods. String case mapping methods can perform locale-sensitive mappings, context-sensitive mappings, and 1:M character mappings, whereas the Character case mapping methods cannot.

您现在可能不会考虑与英语不同的语言,但在某些时候您可能希望支持其他语言,然后大写变得更加困难,因为字符不能再单独大写了。

例如:"Straße".toUpperCase() 返回 "STRASSE"(即使在英语语言环境中),如果您要转换每个字符分别转大写。

(注意:最近,大写的“ß”被添加到德语中,但目前不常用,除了大写名称。)

关于java - word.toUpperCase().chars() 或 word.chars().map(Chars::toUpperCase) 哪个更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69070478/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com