java字符串模式匹配next_如果性能受到关注,则在Java中进行字符串模式匹配的最佳方法...

你可以做点什么

if(string.startsWith(testString)) {

int len = testString.length();

if(string.length() == len || string.charAt(len) == '_')

// success

}我假设你想要testString出现,即使你有一个“_”?

编辑:关于是使用一个长条件还是嵌套if语句,代码或性能没有区别。

public static void nestedIf(boolean a, boolean b) {

if (a) {

if (b) {

System.out.println("a && b");

}

}

}

public static void logicalConditionIf(boolean a, boolean b) {

if (a && b) {

System.out.println("a && b");

}

}编译成相同的代码。如果你做javap -c

public static void nestedIf(boolean, boolean);

Code:

0: iload_0

1: ifeq 16

4: iload_1

5: ifeq 16

8: getstatic #7; //Field java/lang/System.out:Ljava/io/PrintStream;

11: ldc #8; //String a && b

13: invokevirtual #9; //Method java/io/PrintStream.println:(Ljava/lang/String;)V

16: return

public static void logicalConditionIf(boolean, boolean);

Code:

0: iload_0

1: ifeq 16

4: iload_1

5: ifeq 16

8: getstatic #7; //Field java/lang/System.out:Ljava/io/PrintStream;

11: ldc #8; //String a && b

13: invokevirtual #9; //Method java/io/PrintStream.println:(Ljava/lang/String;)V

16: return编译的代码是相同的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值