以下设置:
int a=3;
String b="3";
Run Code Online (Sandbox Code Playgroud)
两个变量都表示在语义上相等的ID.由于应用程序适用于移动设备,因此以尽可能最有效的方式完成这些变量的比较非常重要.
将这些变量与此代码段进行比较是否有效,
boolean areEqual = Integer.parseInt(b) == a;
Run Code Online (Sandbox Code Playgroud)
或者这个?
boolean areEqual = String.valueOf(a).equals(b);
Run Code Online (Sandbox Code Playgroud)
除非您进行了数千次这种比较,否则这可能并不重要。也就是说,如果你看看每个语句在做什么:
boolean areEqual = Integer.parseInt(b) == a;
该语句解析该String值一次,然后对两个原始值进行极快的比较int。
boolean areEqual = String.valueOf(a).equals(b);
该语句处理String一次以创建String的值a,然后进行String比较。步骤更多,内部逻辑更多,因此效率较低。
| 归档时间: |
|
| 查看次数: |
665 次 |
| 最近记录: |