62,614
社区成员
发帖
与我相关
我的任务
分享
public static void main(String[] args) throws Exception{
int a = 5;
int b = 6;
long startTime = System.currentTimeMillis();
for (int i = 0; i < 1000_0000; i++) {
if (a == b) {
}
}
long useTime = System.currentTimeMillis() - startTime;
System.out.println("useTime = " + useTime);
}
经测试,运行时间为2 ~ 3毫秒。然后把变量类型改变一下,如下:
String a = "5";
String b = "6";
其它代码不变,运行时间为3 ~ 5毫秒。看到了吧,就是用==来比较String,它都比==比较int要慢,当然了==来比较String其实比较的是内存地址(也是int类型),但是内存地址一般是一个比较大的int值,所以cpu计算起来就慢一些。如果你用equals来比较String,那效率肯定更慢了。你可以像我这样写个Demo测试一下运行时间就知道了。