【发布时间】:2020-01-19 12:18:57
【问题描述】:
我有一个应该只包含特定字符的字符串:{}()[]
我创建了一个 validate 方法来检查字符串是否包含禁止字符(禁止字符是指所有不是 {}()[] 的内容)
这是我的代码:
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");
}
}
}
我想知道是否有更好的方法可以做到这一点,因为我的方法似乎不正确。
【问题讨论】:
-
@Andrew Tobilko 你用它测试了什么?我对其进行了测试,它按预期工作。
-
@AndrewTobilko 我已经用多个测试用例对其进行了测试,并且对我来说正在工作。也许我错过了什么
-
@Cristian Iacob 这篇文章可能更适合代码审查 stackexchange,因为它似乎是您想要优化/审查的工作代码。
-
我会在 for 循环外创建包含“{}()[]”的字符串
-
您也可以使用 Regex。像这样
[{}()[]]
标签: java string validation