【公共规范】严禁使用含分隔符的多值字符串查找的方式判断值是否存在

如:

private static final String JAVA_MENU =  "develop/guide/java";

public boolean inMenu(final String menuName) {
    return JAVA_MENU.contains(menuName);
}

// 你以为的
inMenu("java"); // true
inMenu("C++"); // false

// 实际可能是
inMenu("av"); // true
inMenu("ide/ja") // true
// 甚至
inMenu("/") // true

总之,我们的程序不能相信用户的输入一定是合法的,所以要避免我们预期外的情况发生,这种就最好转换成集合来进行判断。

O Captain! My Captain!