快捷导航
String是JAVA中最常用的数据类型之一,以下举例说明其常用方法:

1、length() 字符串的长度,返回整型数值
  例:char chars[]={'a','b'.'c'};
    String s=new String(chars);
    int len=s.length();

2、charAt() 截取一个字符,返回值为char
  例:char ch;
    ch="abc".charAt(1); 返回'b'

3、 getChars() 截取多个字符,存储于char集合
  void getChars(int sourceStart,int sourceEnd,char target[],int targetStart)
  sourceStart指定了子串开始字符的下标,sourceEnd指定了子串结束后的下一个字符的下标。因此, 子串包含从sourceStart到sourceEnd-1的字符。接收字符的数组由target指定,target中开始复制子串的下标值是targetStart。
  例:String s="this is a demo of the getChars method.";
    char buf[]=new char[20];
    s.getChars(10,14,buf,0);

4、getBytes()
  替代getChars()的一种方法是将字符存储在字节数组中,该方法即getBytes()。

5、toCharArray()
    将String字符串转换成char数组

6、equals()和equalsIgnoreCase() 比较两个字符串,返回boolean值,相同返回true,不同则flase
    注:equalsIgnoreCase()忽略大小写
    例:String s="Abcd";
        String st="ab";
        s.equals("Abcd");  //返回true
        s.equals(st);       //返回flase
        s.equalsIgnoreCase("abcd"); //返回true

7、regionMatches() 用于比较一个字符串中特定区域与另一特定区域,它有一个重载的形式允许在比较中忽略大小写。
   boolean regionMatches(int startIndex,String str2,int str2StartIndex,int numChars)
   boolean regionMatches(boolean ignoreCase,int startIndex,String str2,int str2StartIndex,int numChars)
      入口参数中,用toffset和ooffset分别指出当前字符串中的子串起始位置和要与之比较的字符串中的子串起始地址;len 指出比较长度。前一种方法可区分大写字母和小写字母,如果在 boolean ignoreCase处写 true,表示将不区分大小写,写false则表示将区分大小写。而后一个方法认为大小写字母有区别。由此可见,实际上前一个方法隐含了后一个方法的功能。
    例:
    String s1= “tsinghua”
    String s2=“it is TsingHua”;
    s1.regionMatches(0,s2,6,7);
    最后一个语句表示将s1字符串从第0个字符“t”开始和s2字符串的第6个字符“T”开始逐个比较,共比较7对字符,由于区分大小写,所以结果为false。 但如果最后一个语句改为: s1.regionMatches(true,0,s2,6,7);则结果为true,因为入口参数中true表示忽略大小写区别。

8、startsWith()和endsWith(),startsWith()方法决定是否以特定字符串开始,endWith()方法决定是否以特定字符串结束
    例:
      String s1="this is my original string";
      String sd="string";
      s1.startsWith(sd);       //返回 flase
      s1.endsWith(sd);         //返回 true

9、compareTo:比较
     compareToIgnoreCase:比较,忽略大小写  
    如果参数字符串等于此字符串,则返回 0 值;如果按字典顺序此字符串小于字符串参数,则返回一个小于 0 的值;如果按字典顺序此字符串大于字符串参数,则返回一个大于 0 的值。
    例:字典的顺序:0123456ABCabc 大写字母在小写字母前
    String query = new String();
    String number = new String();
    int i = 0;
    query = "a";
    number = "1";
    i = query.compareTo("A"); (a在A之后,返回大于0的值)
    i = number.compareTo("2"); (1在2之前,返回小于0的值)

10、indexOf()和lastIndexOf() 查询字符串出现的位置
  例:
    .indexOf(subString[, startIndex]) 返回 String 对象内第一次出现子字符串的字符位置
 .lastIndexOf(substring[, startindex]) 返回 String 对象中子字符串最后出现的位置。(从右向左执行查找)
    substring要在 String 对象内查找的子字符串。
    startindex该整数值指出在 String 对象内进行查找的开始索引位置。(可选)
    若指定的字被找到,就会返回这个字的当前的位置号码。如果没有找到就返回 -1.

11、substring()截取字符串,它有两种形式,第一种是:String substring(int startIndex),第二种是:String substring(int startIndex,int endIndex),必选参数是截取开始下标,结束下标不填则视为从起始截取到最后。

12、concat() 连接两个字符串.

13 、replace() 替换
  它有两种形式,第一种形式用一个字符在调用字符串中所有出现某个字符的地方进行替换,形式如下:
  replace(char original,char replacement)
  例如:String s="Hello".replace('l','w');
  第二种形式是用一个字符序列替换另一个字符序列,形式如下:
  replace("abc","qwe")

14、trim() 去掉起始和结尾的空格.

15、valueOf() 将参数转换为字符串.

16、toLowerCase() 转换为小写
       toUpperCase() 转换为大写.

扩展:StringBuffer也提供了一些比较方便的字符串编辑方法
  StringBuffer定义了三个构造函数:
  StringBuffer()
  StringBuffer(int size)
  StringBuffer(String str)
  StringBuffer(CharSequence chars)

  (1)、length()和capacity() 一个StringBuffer当前长度可通过length()方法得到,而整个可分配空间通过capacity()方法得到。
  (2)、ensureCapacity() 设置缓冲区的大小
    void ensureCapacity(int capacity)
  (3)、setLength() 设置缓冲区的长度
    void setLength(int len)
  (4)、charAt()和setCharAt()
    char charAt(int where)
    void setCharAt(int where,char ch)
  (5)、getChars()
    void getChars(int sourceStart,int sourceEnd,char target[],int targetStart)
  (6)、append() 可把任何类型数据的字符串表示连接到调用的StringBuffer对象的末尾。
    例:int a=42;
      StringBuffer sb=new StringBuffer(40);
      String s=sb.append("a=").append(a).append("!").toString();
  (7)、insert() 插入字符串
    StringBuffer insert(int index,String str)
    StringBuffer insert(int index,char ch)
    StringBuffer insert(int index,Object obj)
    index指定将字符串插入到StringBuffer对象中的位置的下标。
  (8)、reverse() 颠倒StringBuffer对象中的字符
    StringBuffer reverse()
  (9)、delete()和deleteCharAt() 删除字符
    StringBuffer delete(int startIndex,int endIndex)
    StringBuffer deleteCharAt(int loc)
  (10)、replace() 替换
    StringBuffer replace(int startIndex,int endIndex,String str)
  (11)、substring() 截取子串
    String substring(int startIndex)
    String substring(int startIndex,int endIndex)
  例子:
  //String所给出的方法均可以直接调用
  public class Test{
  public static void main(String[] args){
  String s = "Welcome to Java World!";
  String s1 = " sun java ";
  System.out.println(s.startsWith("Welcome"));//字符串以Welcome开头
  System.out.println(s.endsWith("World"));//字符串以World结尾
  String sL = s.toLowerCase();//全部转换成小写
  String sU = s.toUpperCase();//全部转换成大写
  System.out.println(sL);
  System.out.println(sU);
  String b = s.substring(11);//从第十一位开始
  System.out.println(b);
  String c = s.substring(8,11);//从第八位开始在第十一位结束
  System.out.println(c);
  String d = s1.trim();//去掉首尾的空格
  System.out.println(d);
  String s2 = "我是程序员,我在学java";
  String e = s2.replace("我","你");
  System.out.println(e);
  int f = 5;
  String s3 = String.valueOf(f);
  System.out.println(s3);
  String s4 = "我是,这的,大王";
  String[] g = s4.split(",");
  System.out.println(g[0]);
  当把字符串转换成基本类型时,例如,int,integer.praseInt(String s)
  当把基本类型转换成字符串时,例如,static String valueOf(int i)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
举报 使用道具
| 回复

共 0 个关于本帖的回复 最后回复于 2015-8-31 14:08

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

精彩推荐

  • FlashFXP 5.3.0.3925 简体中文绿色便携特别
  • 关于新手发帖回复提示“您无权发布该类型主
  • Discuz主题列表摘要图片显示4.4 商业版插件
  • 【HTML基础】-1.3-认识html标签
  • 安卓超漂亮的水果糖风格PNG图标

明星用户

快速回复 返回列表
qq
收缩

QQ|网站地图|Sitemap|Archiver|手机版|小黑屋|UPUPD工作室 ( 京ICP备14055827号-3|网站地图

GMT+8, 2024-5-19 18:47 , Processed in 0.075573 second(s), 35 queries .