【发布时间】:2017-12-03 13:39:08
【问题描述】:
嗯,我正在寻找替代方法来做以下事情。
我有一个字符串和一个基于 ascii 表中字符的整数列表。 我的问题是:我可以采用另一种更快的方法来比较字符串以避免以下代码吗?
public class Main
{
public static void main(String[] args)
{
final String word = "Example!";
final String secondWord = convert(Arrays.asList(69, 120, 97, 109, 112, 108, 101, 33));
System.out.println(word.equals(secondWord));
}
public static String convert(final List<Integer> list) {
final StringBuilder sb = new StringBuilder();
for (int num : list)
sb.append((char) num);
return sb.toString();
}
}
【问题讨论】:
-
您展示的代码有什么不好的地方?您在寻找更有效或更短的方法吗......?
-
我投票结束这个问题,因为关于优化/审查工作代码的问题属于codereview.stackexchange.com,而不是 Stack Overflow。但是read their help first 以确保您充分确定问题的范围。
-
您的问题以当前的形式无法真正回答,现在您的代码完全是静态的,没有什么动态的,所以“更有效”就是打印“true”或“false”。什么应该更通用?
-
两者,我想避免将每个字符存储在字符串生成器中的方法。
-
那么不要使用 StringBuilder。创建一个输出字符串并使用 for 循环将所需的字符添加到字符串的末尾!
标签: java string list compare ascii