String中==与equals的区别:
==比较字符串中的引用相等
equals比较字符串中的内容相等(因为字符串有重写equals方法)

string常用的方法

返回类型

方法

操作功能

Char

charAt(int index)

返回字符串中指定索引处的字符

Int

indexOf(char ch)

返回指定字符在字符串中第一次出现的索引

Int

lastIndexOf(char ch)

返回指定字符在字符串中最后出现的索引

string

Substring(int beginIndex,int endIndex)

从字符串的开始beginIndex到结束endIndex处返回一个新的字符串

string

Concat(string str)

将指定字符串连接到字符串的末尾

string

Replace(char old,char new)

用新的字符替代旧的字符

String[]

Split(string str)

根据字符串来拆分字符串

string

Trim()

清除结尾后面的空格

Int

compareTo(string str)

比较,按字母顺序进行排序,如果两个字符相等返回0

                

StringBuffer常用的方法

返回类型

方法

备注

stringBuffer

Insert()

在指定位置添加字符串

Int

Length()

长度

Void

setCharAt(int pos,char ch)

使用新的字符ch设置到指定的位置上

String

toString()

转换成字符串

StringBuffer

Reverse()

反序

StringBuffer

Delete(int start,int end)

删除指定位置上字符串

stringBuffer

deleteCharAt(int pos)

删除从指定的位置到末尾的字符

StringBuffer

Replace(int start,int end,string str)

使用一组字符串替换另一组字符串

例子:

/************ String中的equals与== *****************/
 /*
  * ==比较字符串中的引用相等
  * equals比较字符串中的内容相等(因为字符串有重写equals方法)
  */
// public static void main(String[] args) {
//  String s1 = new String("abc");
//  String s2 = new String("abc");
//  System.out.println(s1.equals(s2));// true
//  System.out.println(s1 == s2);// false
//
//  String s3 = new String("aaaa");
//  String s4 = s3;// s3把引用赋值给s4
//  System.out.println(s3.equals(s4));// true
//  System.out.println(s3 == s4);// true
// }

String与StringBuffer的不同点: 1、String类是不可改变的,而StringBuffer类是可变的 可修改的

2、String类覆盖了Object的equals方法,而StringBuffer没有

3、String类可以使用”+”进行连接,    而StringBuffer对象之间不能通过”+”进行连接使用append方法进行连接

例子

/**************StringBuffer的使用*****************/
// public static void main(String[] args) {
//  //String不可以修改字符串
//  String str = "abc";//创建一个字符串对象
//  str = "aaa";//创建一个新的字符串
//  str = str+"www";//还是创建了一个新的字符串
//  
//  //StringBuffer可修改字符串
//  StringBuffer buffer = new StringBuffer();
//  System.out.println("大小:"+buffer.length());
//  System.out.println("容量:"+buffer.capacity());
//  buffer.append("abc");//追加字符串
//  System.out.println("大小:"+buffer.length());
//  System.out.println("容量:"+buffer.capacity());
//  buffer.append("ddd");
//  System.out.println("容量:"+buffer.capacity());
//  buffer.append("wwwwwwwwwwwwwww");
//  System.out.println("容量:"+buffer.capacity());
// 
//  StringBuffer strBuffer1 = new StringBuffer("www");
//  StringBuffer strBuffer2 = new StringBuffer("www");
//  //StringBuffer没有重写equals方法所以比较的是引用是否相等
//  System.out.println(strBuffer1.equals(strBuffer2));
// }

StringBuilder类与StringBuffer类:
StringBuilder也是一个操作字符串的类,它与StringBuffer的功能是一样的,
主要区别在于,StringBuilder是非线程安全的,StringBuffer是
线程安全的,所以StringBuilder效率要高,在使用过程中,要根据具体的
情况考虑,如果环境对线程安全没要求,就可以使用StringBuilder

字符串的使用(string,StringBuffer,StringBuilder)的更多相关文章

  1. 浅谈 Java 字符串(String, StringBuffer, StringBuilder)

    我们先要记住三者的特征: String 字符串常量 StringBuffer 字符串变量(线程安全) StringBuilder 字符串变量(非线程安全) 一.定义 查看 API 会发现,String ...

  2. java中 String StringBuffer StringBuilder的区别

    * String类是不可变类,只要对String进行修改,都会导致新的对象生成. * StringBuffer和StringBuilder都是可变类,任何对字符串的改变都不会产生新的对象. 在实际使用 ...

  3. String,StringBuffer,StringBuilder的区别

    public static void main(String[] args) { String str = new String("hello...."); StringBuffe ...

  4. 关于String StringBuffer StringBuilder

    0. String对象的创建       1.关于类对象的创建,很普通的一种方式就是利用构造器,String类也不例外:String s=new String("Hello world&qu ...

  5. [置顶] String StringBuffer StringBuilder的区别剖析

    这是一道很常见的面试题目,至少我遇到过String/StringBuffer/StringBuilder的区别:String是不可变的对象(final)类型,每一次对String对象的更改均是生成一个 ...

  6. Java学习笔记--String StringBuffer StringBuilder

    String StringBuffer StringBuilder String http://docs.oracle.com/javase/7/docs/api/ 中文: http://www.cn ...

  7. String StringBuffer StringBuilder (转)

    转自:http://www.iteye.com/topic/522167 众所周知,String是由字符组成的串,在程序中使用频率很高.Java中的String是一个类,而并非基本数据类型. 不过她却 ...

  8. 【Java基础】String StringBuffer StringBuilder

    String String是不可变的 我们都知道String不是基本数据类型,而是一个对象,并且是final类型的,不可变的.(public final class String) 查看以下代码: S ...

  9. String,StringBuffer,StringBuilder的区别及其源码分析

    String,StringBuffer,StringBuilder的区别这个问题几乎是面试必问的题,这里做了一些总结: 1.先来分析一下这三个类之间的关系 乍一看它们都是用于处理字符串的java类,而 ...

随机推荐

  1. Oracle 数据恢复指导具体解释

    1.数据恢复指导 : 高速检測.分析和修复故障 最大程度地降低停机故障和执行时故障 将对用户的干扰降到最低 用户界面:    --EM GUI 界面 (多个路径)    --RMAN 命令行 支持的数 ...

  2. POJ 2762 Going from u to v or from v to u?(强连通分量+拓扑排序)

    职务地址:id=2762">POJ 2762 先缩小点.进而推断网络拓扑结构是否每个号码1(排序我是想不出来这点的. .. ).由于假如有一层为2的话,那么从此之后这两个岔路的点就不可 ...

  3. SpringMVC使用FileUpload上传文件

    进口FileUpload和common-io的Jar包 注意:1.Struts2其它方法需要使用的:struts2过滤,将改变reqeust类型,由HttpServletRequest成为MultiP ...

  4. Unity3D游戏开发最佳实践20技能(两)

    [扩展和MonoBehaviourBase] 21.扩展一个自己的Mono Behaviour基类.然后自己的全部组件都从它派生 这能够使你方便的实现一些通用函数.比如类型安全的Invoke.或者是一 ...

  5. C#将image中的显示的图片转换成二进制

    原文:C#将image中的显示的图片转换成二进制 1.将Image图像文件存入到数据库中 我们知道数据库里的Image类型的数据是"二进制数据",因此必须将图像文件转换成字节数组才 ...

  6. eclipse 配置android sdk和maven

    首先下载 ADT-22.2.0.rar eclipse-jee-kepler-R-win32-x86_64.zip android SDK4.2.zip 分别解压在一个盘 将ADT里面的两个目录内容相 ...

  7. Android开源项目总结

    Android开源项目--分类汇总 Android开源项目第一篇--个性化控件(View)篇 包含ListView.ActionBar.Menu.ViewPager.Gallery.GridView. ...

  8. js 正则学习小记之匹配字符串

    原文:js 正则学习小记之匹配字符串 今天看了第5章几个例子,有点收获,记录下来当作回顾也当作分享. 关于匹配字符串问题,有很多种类型,今天讨论 js 代码里的字符串匹配.(因为我想学完之后写个语法高 ...

  9. Objective-C马路成魔【12-分类和协议】

    郝萌主倾心贡献.尊重作者的劳动成果,请勿转载. 假设文章对您有所帮助.欢迎给作者捐赠,支持郝萌主.捐赠数额任意,重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载:点我传送 分类与协议 ...

  10. OpenVPN多处理之-最新架构

    好久没有更新这个系列了,由于我之前也说过,前段时间实在太忙了,并且早在一个月前就预示着本月将更加忙!事实也确实如此!最终在国庆前夕完毕了既定的计划,心里也最终能够长出一口气了.近期在忙什么呢?事实上就 ...