想象一下,我有两个java.lang.String
对象,一个来自数据库,另一个是用户输入。为了比较它们,是否有必要将trim()
放在比较的两边?它不是看起来有点开销吗?
if (userInput.trim().equals(dbString.trim())) {
.....
}
有更好的方法吗?我担心我可能忘记在我想要比较它们的每个地方添加trim()
。
答案 0 :(得分:4)
如果您控制数据库(并且没有人可以更改它)您可以信任您的控件和验证,然后再在其上写入数据。因此,以后的比较可以在以后定期进行而不用担心。
如果您有使用额外空白字符(通过某些编辑或其他内容)获取数据的危险。
是的,您必须执行此受控比较。
如果是这种情况,在比较时不要忘记忘记一个trim()
,只需创建一个私有方法(或HelperClass中的静态方法,如果将通过多次使用...我猜.. 服务?),为了让它更清晰,不要忘记使用trim():
private boolean areEquals(String a, String b) {
return a.trim().equals(b.trim());
}
使用:
if (areEquals(userInput, dbInput)) {
// do something
}
答案 1 :(得分:0)