在我看来,string.length()每次调用所需的时间比访问变量要长得多.
因为有权访问变量将允许您修改它,并打破String.
而且JIT编译器很聪明,可以为你内联getter,所以你实际上只是访问变量.
哦,array.length不是一个"真正的"对象变量,但更像是一个语言功能,允许您访问数组的长度.因此,它不可写.另一方面,字符串是"普通"对象,并且在编译器中没有特殊处理(尽管在源代码中使用字符串文字时它们是在运行时稍微构建的).
| 归档时间: |
|
| 查看次数: |
254 次 |
| 最近记录: |