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. iOS:删除小程序

    //Applet的批次从父视图中移除 NSArray *subViews = [_scrollView subviews]; if([subViews count] != 0) { [subViews ...

  2. HDU4893:Wow! Such Sequence!(段树lazy)

    Problem Description Recently, Doge got a funny birthday present from his new friend, Protein Tiger f ...

  3. CentOS 7安装配置Apache HTTP Server

    原文 CentOS 7安装配置Apache HTTP Server   RPM安装httpd # yum -yinstall httpd //安装httpd会自动安装一下依赖包: apr apr-ut ...

  4. 移动web开发经验总结(1) (转)

    1.<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, minimum-sca ...

  5. 使用Heartbeat实现双机热备

    使用Heartbeat实现"双机热备"或者称为"双机互备"heartbeat的工作原理:heartbeat最核心的包含两个部分,心跳监測部分和资源接管部分,心跳 ...

  6. HDU - 1394 Minimum Inversion Number (线段树求逆序数)

    Description The inversion number of a given number sequence a1, a2, ..., an is the number of pairs ( ...

  7. kubernetes多节点部署的决心

    注:以下操作均基于centos7系统. 安装ansible ansilbe能够通过yum或者pip安装,因为kubernetes-ansible用到了密码.故而还须要安装sshpass: pip in ...

  8. iterm2 快捷键大全 Mac item2常用快捷键

    整理使用 iTerm 2 过程中得常用快捷键,Mac 原来自带的终端工具 Terminal 不好用是出了名的,虽然最近几个版本苹果稍微做了些优化,功能上,可用性方面增强不少,无奈有个更好用的 Iter ...

  9. hardware_hp刀片服务器安装windows 2008系统配置

    2012年10月26日星期五 第一步. 看刀片机柜的后的OA地址 点击 OK 查看 Actlve OA 例如: 192.168.254.31 l 第二步: 连接PC 到左侧第一个接口 修改本机ip为同 ...

  10. Tomcat剖析(四):Tomcat默认连接器(2)

    Tomcat剖析(四):Tomcat默认连接器(2) 1. Tomcat剖析(一):一个简单的Web服务器 2. Tomcat剖析(二):一个简单的Servlet服务器 3. Tomcat剖析(三): ...