`

字符串的length - 性能优化

阅读更多
尽量提前计算length:

(1) 好的风格:

 
String str = "##########################################";
  int len = str.length();
  
  for(int i = 0; i < len; i++) {

  }

(2) 不好的风格:

 
String str = "##########################################";
 
  for(int i = 0; i < str.length(); i++) {

  }
1
3
分享到:
评论
6 楼 mercyblitz 2010-06-01  
maozj 写道
mercyblitz 写道
即不是优化,又不能说是好的代码。建议楼主看一看方法内联(inline)。


没看懂 仔细看


内联能够复制代码,因此调用方法的时间和消耗可以不计。
5 楼 maozj 2010-06-01  
zhxing 写道
    public int length() {
        return count;
    }


希望楼主不要迷惑人。。看上面的JDK 源码,其实都是一个引用而已,没性能问题。。



呵呵,是这样的...

for(int i = 0; i < str.length(); i++) {   
  
}  


如果说str.length很大的话 > 1000000;
上面的循环中:

i < str.length 该条件要判断1000000次。。。。
4 楼 zhxing 2010-05-31  
    public int length() {
        return count;
    }


希望楼主不要迷惑人。。看上面的JDK 源码,其实都是一个引用而已,没性能问题。。
3 楼 snowolf 2010-05-31  
maozj 写道
mercyblitz 写道
即不是优化,又不能说是好的代码。建议楼主看一看方法内联(inline)。


没看懂 仔细看

方法内联?C++?
2 楼 maozj 2010-05-31  
mercyblitz 写道
即不是优化,又不能说是好的代码。建议楼主看一看方法内联(inline)。


没看懂 仔细看
1 楼 mercyblitz 2010-05-31  
即不是优化,又不能说是好的代码。建议楼主看一看方法内联(inline)。

相关推荐

    java字符串处理-中英文-非常有用的

    - 在实际应用中,频繁的字符串操作可能会导致性能瓶颈。 - 可以考虑使用StringBuilder而非StringBuffer,因为StringBuilder在单线程环境下更高效。 - 对于复杂的字符串处理需求,可以考虑使用正则表达式等高级工具来...

    字符串拼接-不同方式下的性能问题纠错1

    然而,随着浏览器技术的发展,尤其是从IE8开始,现代浏览器(包括Chrome、Firefox、Safari、Edge等)对垃圾回收机制进行了优化,并且对`+`运算符连接字符串进行了特殊处理,使得这种方式在大多数情况下性能已经超过...

    php截断字符串优化函数 php截断字符串优化函数

    综上所述,PHP中截断字符串涉及多种方法和技巧,包括基本截断、考虑单词边界、处理多字节字符、性能优化以及处理HTML内容等。根据具体应用场景选择合适的方法,并进行适当优化,可以提升代码质量和用户体验。在实际...

    [字符串]字符串提取(获取两个字符串中间的字符串)

    在编程领域,字符串处理是一项基础且重要的任务。在C#中,处理字符串时,我们经常需要从一个较大的字符串中提取出特定部分,比如位于两个已知...在编写代码时,务必考虑到错误处理和性能优化,确保代码的稳定性和效率。

    统计字符串中子字符串出现的次数,并返回

    在实际应用中,我们还应考虑错误处理和性能优化,比如输入验证、异常处理以及多线程环境下对字符串操作的同步控制。同时,理解和掌握字符串操作的内部机制,例如C#的字符串是不可变的,每次修改都会创建新的字符串...

    求字符串中的第一个数字

    - **性能优化**:对于非常大的字符串,可以考虑使用非递归的方式来减少递归调用带来的开销。 以上就是关于“求字符串中的第一个数字”的详细知识点介绍。通过这些知识点的学习,可以帮助我们更好地理解和掌握 Java ...

    Delphi 字符串截取函数

    通过以上详细介绍和示例,可以看出Delphi提供了全面且强大的字符串处理工具集,开发者可以根据具体需求选择合适的函数来优化代码的性能和可读性。熟练掌握这些函数将显著提高在各种项目中处理文本数据的能力。

    c++字符串处理汇总

    - `size()`/`length()`:获取字符串长度。 - `empty()`:检查字符串是否为空。 - `substr(pos, len)`:提取子字符串。 - `find(substr, pos)`:查找子字符串,返回索引位置,找不到则返回`std::string::npos`。 ...

    推选字符串是字符的序列-它是组织字符的基本的数据结构Java将字符串PPT资料.ppt

    【推选】字符串是字符的序列...无论是处理简单的文本输出,还是进行复杂的字符串操作,这些类都提供了强大的功能和优化的性能。在编写代码时,根据具体需求选择合适的字符串处理方式,可以显著提升程序的性能和可读性。

    字符串解压缩

    字符串压缩通常基于特定的算法,如霍夫曼编码、LZ77、LZ78、Run-Length Encoding (RLE) 或者Burrows-Wheeler Transform (BWT)。这些算法的目标是减少字符串的存储空间,通过识别和利用字符串中的重复模式或统计特性...

    Java 实例 - 字符串优化源代码-详细教程.zip

    7. 使用String.isEmpty():检查字符串是否为空,使用`isEmpty()`方法比`length()==0`更高效,因为它是一个final方法,编译器可能会进行优化。 8. 正则表达式的复用:在进行大量正则匹配时,可以使用Pattern类的...

    js-leetcode题解之字符串字符最短路径-题解.zip

    我们可以使用`String`对象的方法,如`length`获取字符串长度,`charAt(index)`获取指定索引处的字符,`split(separator)`按分隔符分割字符串,`join(separator)`将数组元素合并为字符串,以及`substring(startIndex,...

    JS——字符串

    JavaScript(简称JS)是一种轻量级的解释型编程语言,主要应用于网页和网络应用开发,尤其在客户端渲染和...实际应用中,开发者还应关注性能优化、Unicode处理、字符串的比较操作以及在不同浏览器环境下的兼容性问题。

    C# 字符串反转(两种方法)

    第一种方法是通过`Substring()`方法结合字符串的`Length`属性来实现字符串反转。`Substring()`方法接受两个参数,第一个参数是开始位置,第二个参数是子字符串的长度。在反转字符串时,我们可以从最后一个字符开始,...

    Delphi计算字符串的相似度

    在实际应用中,可能还需要考虑性能优化,比如使用哈希表加速查找,或者在字符串长度较大时采用更节省内存的实现方式。此外,还可以结合其他字符串预处理步骤,如去除停用词、词干提取、大小写转换等,以提高计算结果...

    delphi字符串压缩

    在IT行业中,字符串压缩是一种常见的优化技术,尤其是在Delphi编程环境下。Delphi是Pascal语言的一个强大版本,它提供了一套完整的开发工具,用于创建高效、高性能的应用程序。字符串压缩的目的是减小数据的存储空间...

    Java第6章 字符串 含源代码

    `length()`返回字符串长度,`trim()`去除两端空白,`startsWith()`和`endsWith()`检查字符串是否以指定前缀或后缀开头或结束,`contains()`检查是否包含子字符串。 8. **字符串与对象** `hashCode()`方法返回字符...

    uart发送一个字符串

    ### UART发送字符串知识点详解 #### 一、UART通信概述 ...4. **性能优化**:分析发送速度、稳定性等因素,并对程序进行优化。 通过以上步骤的学习和实践,可以全面掌握UART发送字符串的相关技术细节。

    db2字符串分隔,函数,过程的使用

    5. 性能优化: 当处理大量字符串数据时,注意优化查询,比如利用索引、减少函数操作等,以提高性能。同时,合理设计数据库结构,避免将多值数据存储在一个字段,可以使用关联表来存储,这样更符合数据库规范且易于...

    delphi7分割字符串

    6. **性能优化**:对于大量数据的字符串处理,可以考虑使用`TStringList`或动态数组来存储子字符串,以提高内存管理效率。 7. **错误处理**:在处理字符串时,应考虑分隔符不存在的情况,以避免不必要的错误。 ...

Global site tag (gtag.js) - Google Analytics