类 String、StringBuffer、StringBuilder
类 String

String 类代表字符串。Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现。字符串是常量;它们的值在创建之后不能更改。字符串缓冲区支持可变的字符串。因为 String 对象是不可变的,所以可以共享。
绿色字体的方法(函数)存在重载,根据实际需求使用。
charAt(int index)
返回指定索引处的 char 值。
compareTo(String anotherString)
按字典顺序比较两个字符串。
getBytes()
使用平台的默认字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中。
contentEquals(CharSequence cs)
将此字符串与指定的 CharSequence 比较。
copyValueOf(char[] data)
返回指定数组中表示该字符序列的 String。
equals(Object anObject)
将此字符串与指定的对象比较。
equalsIgnoreCase(String anotherString)
将此 String 与另一个 String 比较,不考虑大小写。
hashCode()
返回此字符串的哈希码。
indexOf(int ch)
返回指定字符在此字符串中第一次出现处的索引。
lastIndexOf(int ch)
返回指定字符在此字符串中最后一次出现处的索引。
length()
返回此字符串的长度。
subSequence(int beginIndex, int endIndex)
返回一个新的字符序列,它是此序列的一个子序列。
substring(int beginIndex)
返回一个新的字符串,它是此字符串的一个子字符串。
toCharArray()
将此字符串转换为一个新的字符数组。
toLowerCase()
使用默认语言环境的规则将此 String 中的所有字符都转换为小写。
toUpperCase()
使用默认语言环境的规则将此 String 中的所有字符都转换为大写。
trim()
返回字符串的副本,忽略前导空白和尾部空白。
valueOf(Object obj)
返回 Object 参数的字符串表示形式。
类 StringBuffer

线程安全的可变字符序列。一个类似于 String 的字符串缓冲区,但不能修改。虽然在任意时间点上它都包含某种特定的字符序列,但通过某些方法调用可以改变该序列的长度和内容。
可将字符串缓冲区安全地用于多个线程。可以在必要时对这些方法进行同步,因此任意特定实例上的所有操作就好像是以串行顺序发生的,该顺序与所涉及的每个线程进行的方法调用顺序一致。
StringBuffer 上的主要操作是 append 和 insert 方法,可重载这些方法,以接受任意类型的数据。
绿色字体的方法(函数)存在重载,根据实际需求使用。
append(CharSequence s)
将指定的 CharSequence 添加到该序列。
charAt(int index)
返回指定索引处的 char 值。
delete(int start, int end)
删除这个序列的子字符串中的字符。
deleteCharAt(int index)
删除在这个序列在指定的位置的字符。
getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
从这个序列字符复制到目标字符数组dst.
indexOf(String str)
返回索引在这个字符串的第一次出现的指定子字符串。
insert(int offset, char c)
将字符参数的字符串表示形式插入到此序列。
lastIndexOf(int ch)
返回指定字符在此字符串中最后一次出现处的索引。
setCharAt(int index, char ch)
这个字符数组在指定的索引设置为ch。
setLength(int newLength)
设置字符序列的长度。
subSequence(int beginIndex, int endIndex)
返回一个新的字符序列,它是此序列的一个子序列。
substring(int beginIndex)
返回一个新的字符串,它是此字符串的一个子字符串。
toString()
返回一个字符串,表示这个序列中的数据。
trimToSize()
试图减少存储用于字符序列。
类 StringBuilder

一个可变的字符序列。此类提供一个与 StringBuffer 兼容的 API,但不保证同步。该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)。如果可能,建议优先采用该类,因为在大多数实现中,它比 StringBuffer 要快。
方法(函数)和类StringBuffer的基本一致,在线程上的使用有所不同。
类 String、StringBuffer、StringBuilder的更多相关文章
- 重温java中的String,StringBuffer,StringBuilder类
不论什么一个系统在开发的过程中, 相信都不会缺少对字符串的处理. 在 java 语言中, 用来处理字符串的的类经常使用的有 3 个: String.StringBuffer.StringBuilder ...
- java中 String StringBuffer StringBuilder的区别
* String类是不可变类,只要对String进行修改,都会导致新的对象生成. * StringBuffer和StringBuilder都是可变类,任何对字符串的改变都不会产生新的对象. 在实际使用 ...
- String,StringBuffer,StringBuilder的区别
public static void main(String[] args) { String str = new String("hello...."); StringBuffe ...
- 关于String StringBuffer StringBuilder
0. String对象的创建 1.关于类对象的创建,很普通的一种方式就是利用构造器,String类也不例外:String s=new String("Hello world&qu ...
- [置顶] String StringBuffer StringBuilder的区别剖析
这是一道很常见的面试题目,至少我遇到过String/StringBuffer/StringBuilder的区别:String是不可变的对象(final)类型,每一次对String对象的更改均是生成一个 ...
- String StringBuffer StringBuilder (转)
转自:http://www.iteye.com/topic/522167 众所周知,String是由字符组成的串,在程序中使用频率很高.Java中的String是一个类,而并非基本数据类型. 不过她却 ...
- 【Java基础】String StringBuffer StringBuilder
String String是不可变的 我们都知道String不是基本数据类型,而是一个对象,并且是final类型的,不可变的.(public final class String) 查看以下代码: S ...
- String,StringBuffer,StringBuilder的区别及其源码分析
String,StringBuffer,StringBuilder的区别这个问题几乎是面试必问的题,这里做了一些总结: 1.先来分析一下这三个类之间的关系 乍一看它们都是用于处理字符串的java类,而 ...
- final,finally,finalize有什么区别?String, StringBuffer, StringBuilder有什么区别?Exception和Error有什么区别?
继上篇JVM学习之后,后面将分三期深入介绍剩余JAVA基础面试题,每期3题. 题目一.final,finally,finalize有什么区别? /*请尊重作者劳动成果,转载请标明原文链接:*/ /* ...
- 浅谈 Java 字符串(String, StringBuffer, StringBuilder)
我们先要记住三者的特征: String 字符串常量 StringBuffer 字符串变量(线程安全) StringBuilder 字符串变量(非线程安全) 一.定义 查看 API 会发现,String ...
随机推荐
- MATLAB 的字符串分析
MATLAB的字符串分析. 字符串实际上是指1Xn 的字符数组. MATLAB软件具有强大的字符串处理功能,提供了很多的字符或字符串处理函数,包括字符串的创建.字符串的属性.比较.查找以及字符串的转换 ...
- AngularJs学习笔记(4)——自定义指令
对指令的第一印象:它是一个自定义标签! 先来看一个简单的指令: <!doctype html> <html ng-app="myApp"> <head ...
- asp.net core mvc视频A:笔记5-1.路由规则
方法一:通过MapRoute方法,配置文件位置 小例子:如果所有路径都要在admin下,可以这样写 方法二:通过路由属性 相对路由 现在需要加/admin/home/index才能正常访问原来的默认页 ...
- PullToRefresh使用详解(一)--构建下拉刷新的listView
前言:前几天写了篇关于PullToRefresh控件的DEMO导入的博客,但由于当时没有用到,所以就没细往下讲,现在开始到了实战阶段,用到了PullToRefresh的listView样式,网上有讲的 ...
- 自己动手制作更好用的markdown编辑器-03
这里文章都是从个人的github博客直接复制过来的,排版可能有点乱. 原始地址 http://benq.im/2015/04/24/hexomd-03/ 文章目录 1. 系统模块 2. 记录上次打开的 ...
- unity, iOS集成微信
将微信sdk直接拖进xcode会导致Library Search Paths是错的,需要手动改成如下样子(蓝色选中部分)才能通过编译:
- __attribute__系列之介绍篇
1.什么是__attribute__? __attribute__机制是GNU C的一大特色,它可以设置函数属性.变量属性和类型属性等.可以通过它们向编译器提供更多数据,帮助编译器执行优化等. 2._ ...
- FreeBSD安装MySQL5.7.17
[root@tuhooo /usr/ports/databases/mysql57-server]# make install===> Installing for mysql57-serve ...
- IDEA中maven打包跳过Junit Test
运行MVN install时需要跳过Junit的test cases,可以采用下面的方法: mvn install -DskipTests 或者mvn install -Dmaven.test.ski ...
- 【转】Silverlight全开源工作流设计器
声明 此工作流是作者自行构思和设计的被动式数据触发模式的工作流.没有遵循各种现有的工作流设计标准(如WFMC或WSFL),也没有与其他工作流通用性的接口规范.这里体现更多的是作者对工作流的使用思想,及 ...