检查字符串的最快方法是Java中的字母数字

检查字符串的最快方法是Java中的字母数字,第1张

检查字符串的最快方法是Java中的字母数字

我已经编写了使用正则表达式(根据其他答案)与不使用正则表达式进行比较的测试。在运行Java 1.6的四核OSX10.8计算机上进行的测试

有趣的是,使用正则表达式比手动迭代字符串要慢5到10倍。此外,该

isAlphanumeric2()
功能比的速度略快
isAlphanumeric()
。一种支持允许扩展Unipre数字的情况,另一种支持仅允许标准ASCII数字的情况。

public class QuickTest extends TestCase {    private final int reps = 1000000;    public void testRegexp() {        for(int i = 0; i < reps; i++) ("ab4r3rgf"+i).matches("[a-zA-Z0-9]");    }public void testIsAlphanumeric() {    for(int i = 0; i < reps; i++)        isAlphanumeric("ab4r3rgf"+i);}public void testIsAlphanumeric2() {    for(int i = 0; i < reps; i++)        isAlphanumeric2("ab4r3rgf"+i);}    public boolean isAlphanumeric(String str) {        for (int i=0; i<str.length(); i++) { char c = str.charAt(i); if (!Character.isLetterOrDigit(c))     return false;        }        return true;    }    public boolean isAlphanumeric2(String str) {        for (int i=0; i<str.length(); i++) { char c = str.charAt(i); if (c < 0x30 || (c >= 0x3a && c <= 0x40) || (c > 0x5a && c <= 0x60) || c > 0x7a)     return false;        }        return true;    }}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5615733.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存