【发布时间】:2017-12-06 15:22:27
【问题描述】:
我创建了一个二叉搜索树,我想让它尽可能高效。添加节点时,我使用equalsIgnoreCase() 与String 进行比较(以防止重复)。
添加两个节点时,例如:"BOB" 和 "bob"。
例如:
将"BOB" 转换为 ASCII = 066 079 066
将"bob" 转换为 ASCII= 098 111 098
您可以看到"BOB" 和"bob" 由于大写字母而具有不同的值。
无论大小写如何,equalsIgnoreCase() 会接受这个作为一个条目吗?
这有助于提高效率吗?
【问题讨论】:
-
一些代码会更好。
-
@yshavit 这是一个很好的答案。这应该是一个答案,而不是评论!
-
@Keara 好点!
-
另外,作为对 OP 的格式说明:Java 中以 0 开头的数字字符串(如 066)表示八进制,而三位数字通常是 octets。所以像“066”这样的数字是令人困惑的;它看起来像十进制格式的八进制和八位字节,但这里都不是这种情况。在 Java 中表示这个 char 的十六进制值的标准方法可能是 0x0066 或 0x66。
标签: java ignore-case