gpt4 book ai didi

java - 检查字符串是否包含特定字符的最有效方法

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:59:42 24 4
gpt4 key购买 nike

我有一个应该只包含特定字符的字符串:{}()[]

我创建了一个验证方法来检查字符串是否包含禁止字符(禁止字符我指的是不是 {}()[] 的所有内容)

这是我的代码:

private void validate(String string) {

char [] charArray = string.toCharArray();
for (Character c : charArray) {
if (!"{}()[]".contains(c.toString())){
throw new IllegalArgumentException("The string contains forbidden characters");
}
}
}

我想知道是否有更好的方法来做到这一点,因为我的方法似乎不对。

最佳答案

如果我按照你的方式实现,我会亲自修改如下:

private static void validate(String str) {
for (char c : str.toCharArray()) {
if ("{}()[]".indexOf(c) < 0){
throw new IllegalArgumentException("The string contains forbidden characters");
}
}
}

变化如下:

  • 没有为 char 数组声明一个临时变量。
  • 使用 indexOf 查找字符而不是将 c 转换为 String 以使用 .contains().

  • 在原始 char 上循环,因为您不再需要toString().

  • 不命名参数 string,因为这会引起混淆,不是好的做法。

注意:包含 调用indexOf(),因此从技术上讲,这也为您节省了每次迭代调用的方法。

关于java - 检查字符串是否包含特定字符的最有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57994496/

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