在Java改变,用二进制字符串(例如“00010010”,零在开始创建我的程序的目的,这些二进制字符串时添加的)工作。我有功能String.equals()按位和二进制数
private static boolean isJinSuperSets(String J, List<String> superSets) {
for (String superJ : superSets)
if (superJ.equals(J)) return true;
return false;
}
检查二进制字符串J是否包含在二进制字符串superSets的列表中。
我在字符串对象上使用equals()
,但我想通过将二进制字符串转换为二进制数并按位操作AND来查看它们是否相等来加速此代码。
能否请您给我如何实现这一目标的几个技巧?
如果你希望你的程序尽可能慢,通过各种手段做数学与字符串。 – harold 2012-07-15 08:58:14
可能是http://stackoverflow.com/questions/4211705/binary-to-text-in-java的答案。 – vainolo 2012-07-15 08:58:42
如果您只是在方法范围内进行转换,我认为这不会加速任何事情(恰恰相反)。你需要改变你的界面以使用二进制格式。顺便说一下,BigInteger可以用于此目的。 – Thilo 2012-07-15 08:58:48