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. Cocos2d-x在线粒子编辑器

    自由.其效果是非常赞,可以手动调节和.出口可以上网plist档!. 住址:http://particle2dx.com/

  2. chrome扩展第三方浏览器下载安装

    1.使用其他浏览器打开谷歌应用市场,复制扩展详情地址url 2. 粘贴到:http://chrome-extension-downloader.com/中进行扩展的下载. 3. 拖拽到chrome e ...

  3. 怎样改动、扩展并重写Magento代码

    作为一个开发人员的你,肯定要改动Magento代码去适应你的业务需求,可是在非常多时候我们不希望改动Magento的核心代码,这里有非常多原因, 比如将来还希望升级Magento.还想使用很多其它的M ...

  4. DevExpress XtraReports 入门五 创建交叉表报表

    原文:DevExpress XtraReports 入门五 创建交叉表报表 本文只是为了帮助初次接触或是需要DevExpress XtraReports报表的人群使用的,为了帮助更多的人不会像我这样浪 ...

  5. 网络资源(5) - Android视频

    2014_08_24 http://v.youku.com/v_show/id_XMjM5NjU2OTI0.html?f=5486194 Android开发视频教程1 http://v.youku.c ...

  6. ABP日志管理

    ABP日志管理 基于DDD的现代ASP.NET开发框架--ABP系列之8.ABP日志管理 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称. ABP ...

  7. MVC客户管理(添加、修改、查询、分页)

    ASP.NET MVC搭建项目后台UI框架—6.客户管理(添加.修改.查询.分页)   目录 ASP.NET MVC搭建项目后台UI框架—1.后台主框架 ASP.NET MVC搭建项目后台UI框架—2 ...

  8. AspNetPager常用属性及一些样式

    AlwaysShow 总是显示分页控件,即使要分页的数据只有一页 AlwaysShowFirsLastPageNumbr 是否总是显示第一页和最后一页数字页索引按钮 BackImageUrl 面板的背 ...

  9. JBPM——MyEclipse开发环境的搭建

    第一次接触JBPM我不知道如何在工程中的应用.查了一些资料.大约在JBPM随着时代的发展有一定的了解.首先JBPM它是JBoss件平台的一个组成部分.是一个灵活的,易扩展的工作流管理系统,仅仅只是这个 ...

  10. vim_编码配置文件_utf8乱码解决

    1:简化步奏 调整 :vimrc的脚本配置 编辑~/.vimrc文件,(没有的话新建个)加上如下几行: set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb23 ...