【发布时间】:2017-05-04 10:51:18
【问题描述】:
我今天看到了这段代码
if (translatedText.contains("â")) translatedText = translatedText.replace("â", "a");
if (translatedText.contains("ê")) translatedText = translatedText.replace("ê", "e");
...
这样的行有 22 行,我想知道在替换之前使用“ifs”有什么意义。我理解它的工作方式是,我们每行读取两次字符串,而直接调用 replace 方法在没有要替换的内容时会产生相同的效果,而在有要替换的内容时会更快。
但这只是我猜它的工作原理。有人可以确认或更正我吗?
还有第二个问题。我们正在对每个元音和每个符号“á”、“à”、“â”和“ä”进行替换。我敢打赌,在 Java 中有更好的方法来做到这一点。有什么建议吗?
谢谢。
【问题讨论】:
-
你为什么要这样做?我很确定它背后的要求是一个错误-我不是要评判什么,我只是相信我们可以在更深层次上帮助你
-
@Sebas 我想,这不是他的代码——他刚遇到它,想知道是否需要
-
如果代码中的操作是在条件检查之后执行的,那么它也执行得最好,否则它仍然运行。
-
对于
ifcondition你需要查看你的数据长度和你的无效字符的频率,如果长度比较大那么我建议直接去替换 -
惊喜接受;但你是老板;-)