`
lijingyao8206
  • 浏览: 219308 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

TL之StringBuilder构建字符串

阅读更多
   我们都知道怎样用String去构建字符串,但常常也会被一些细节困扰。由于Java语言给我们带来的很多方便,很多时候程序员也便渐渐不去考虑一些效率问题了。这远远不像曾经学C或C++的时候纠结算法,效率的抓狂年代。
    最近开始下定决心仔细学习下Java基础知识部分,就把一些觉得比较容易被大家忽视,也同样是很重要的(只要你认为重要就好)知识点拿出来和大家资源共享一下。大多数是在《Core java》系列上整理和搜集下来的。
    Why we talked about StringBuilder,why should wo use it?
   Occasionally, you need to build up strings from shorter strings, such as keystrokes orwords from a file. It would be inefficient to use string concatenation for this purpose.
    Every time you concatenate strings, a new String object is constructed. This is time consuming and it wastes memory. Using the StringBuilder class avoids this problem.
    Follow these steps if you need to build a string from many small pieces. First, construc an empty string builder:
   StringBuilder builder = new StringBuilder();
   Each time you need to add another part, call the append method.
   builder.append(ch); // appends a single character
   builder.append(str); // appends a string
   When you are done building the string, call the toString method. You will get a String
   object with the character sequence contained in the builder.
   String completedString = builder.toString();

那么StringBuffer呢?
   The StringBuilder class was introduced in JDK 5.0. Itspredecessor, StringBuffer, is slightly less efficient, but it allows multiple threads to add or remove characters. If all string editing happens in a single thread (which is usually the case), you should use StringBuilder
   instead. The APIs of both classes are identical.
   要想更深地了解体会构建字符串的几种方式的区别,看看他们的API 然后敲上几行小代码测试下不就可以了哈?

分享到:
评论

相关推荐

    StringBuilder拼接字符串

    C# StringBuilder 拼接字符串 字符串转换工具 StringBuilder比StringBuffer运行速度要快,因为StringBuilder是针对于单线程的,所这它是非线程安全的。普通情况下建议使用StringBuilder。

    为什么 Java 8 中不需要 StringBuilder 拼接字符串

    java8中,编辑器对“+”进行了优化,默认使用StringBuilder进行拼接,所以不用显示的使用StringBuilder了,直接用“+”就可以了。下面我们来详细了解一下

    字符串、String类和StringBuilder类

    StringBuilder是用于构建和修改字符串的可变类,它提供了一种高效的方式来处理大量文本数据。与String不同,StringBuilder对象可以在原地修改,不需要每次操作都创建新的对象。因此,当你需要频繁地进行字符串操作,...

    StringBuilder字符串拼接工具

    在Java编程语言中,`StringBuilder`是一个非常重要的类,它被广泛用于字符串的构建和拼接操作。在处理大量字符串连接时,相比直接使用`+`运算符或`String`对象,`StringBuilder`能提供更高的性能。这是因为每次使用`...

    StringBuilder字符串生成工具

    主要生成StringBuilder 字符串 类似 StringBuilder builder = new StringBuilder(); builder.AppendFormat("<span class=\"navSep\"></span>\r\n"); builder.AppendFormat("机构看盘</a>\r\n"); builder....

    StringBuilder字符串生成器(含源码VS2010)

    StringBuilder 字符串生成器 举例说明: SELECT * FROM dbo.Pub_User WHERE ID = 1001 以上这段Sql语句,利用此工具,一键生成以下StringBuilder字符串变量,支持翻转生成,内含VS2010源码,是.Net程序员必备工具 sb....

    Java中字符数组和字符串与StringBuilder和字符串转换的讲解

    Java中字符数组和字符串与StringBuilder和字符串转换的讲解 在 Java 中,字符数组、字符串和 StringBuilder 之间的转换是非常重要的知识点。今天,我们将深入探讨这三者之间的转换关系,并且提供详细的讲解和示例...

    C#字符串删除指定字符串|字符串删除子字符串

    在C#编程语言中,处理字符串是常见的任务之一,其中包括删除字符串中的特定部分或子字符串。本篇文章将详细探讨如何在C#中实现这一功能,包括多种方法和实用技巧。 首先,C#提供了多种内置方法来操作字符串,比如`...

    类似java的StringBuilder的动态字符串

    刚从java转过来感觉c的字符串操作太麻烦了所以自己写了一个类似java的StringBuilder类的头文件 它支持java的StringBuilder支持的很多操作大大方便了对字符串的操作 能力所限如有bug请指出</h1>

    字符串重新排序

    因此,我们在生成新字符串时,可能需要使用StringBuilder或StringBuffer类,它们提供了动态构建字符串的能力,这对于大量操作字符串时的性能至关重要。 总的来说,解决这个问题需要对字符串操作、排序算法、条件...

    C#中在一个字符串中删除另一个字符或字符串

    在C#编程语言中,处理字符串是常见的任务之一。标题提到的“C#中在一个字符串中删除另一个字符或字符串”涉及到的关键知识点主要包括字符串操作、字符数组、字符串替换以及正则表达式。以下将详细讲解这些知识点。 ...

    关于字符串相等的比较

    - 当需要构建或修改字符串时,使用 `StringBuilder`(线程不安全)或 `StringBuffer`(线程安全)比拼接多个字符串更高效。 - 示例:使用 `StringBuilder` 构建最终的字符串后,再使用 `equals` 方法进行比较。 -...

    C# 字符串转十六进制串,16进制反向转回原字符串

    然后,我们遍历字节数组,使用`ToString("x2")`将每个字节转换为两位的十六进制字符串,并添加到`StringBuilder`对象中。 二、十六进制串反向转回原字符串 从十六进制串还原字符串,我们需要做相反的操作:首先将...

    字符串转化为XML文件

    在本例中,StringBuilder类用于构建XML文件的字符串。StringBuilder类的使用可以提高字符串处理的效率和性能。 XML文档对象模型(DOM) XML文档对象模型(DOM)是一种数据结构,用于表示XML文档。DOM将XML文档表示...

    java字符串处理取出括号内的字符串

    这个例子中,我们通过遍历字符串,根据开括号和闭括号的状态管理栈,并使用StringBuilder来积累括号内的内容。 总的来说,无论是通过正则表达式还是通过栈,Java都提供了灵活且高效的方法来处理字符串,包括提取...

    截取特定部分字符串

    4. **组合字符串**:截取后的子字符串可以通过`StringBuilder`或`StringBuffer`类进行拼接。这些类提供了`append()`方法,允许我们添加多个字符串片段。例如,如果我们有三个子字符串`part1`, `part2`, `part3`,...

    java 字符串 正则表达式 详细实例代码

    它们提供`append()`、`insert()`、`delete()`等方法进行动态构建字符串。 4. **日期和时间字符串格式化** - Java中的`java.util.Date`类和`java.text.SimpleDateFormat`类用于处理日期和时间。`SimpleDateFormat`...

    字符串查找与替换程序 文件

    StringBuilder类是Java语言中一个可变的字符串处理类,该类提供了许多有用的字符串处理函数,例如 append()、insert()、replace()等。这些函数可以用于字符串的连接、插入和替换等。 总结 字符串替换函数是一个...

    将输入的字符串反转 java

    因此,反转字符串通常涉及创建一个新的字符串,该字符串包含原始字符串的反向字符顺序。有多种方法可以实现这个目标,包括使用StringBuilder、StringBuffer、Char数组以及Java 8引入的流(Stream)。 1. 使用...

    字符串、字符和正则表达式

    例如,频繁使用`+`进行字符串拼接会创建大量中间字符串,此时使用`StringBuilder`类会更高效,因为它允许在内存中动态地构建和修改字符串(性能提示12.2)。 字符在C#中由`char`类型表示,它是单个Unicode字符。...

Global site tag (gtag.js) - Google Analytics