String : 字符串类型

一、构造函数

String(byte[ ] bytes):通过byte数组构造字符串对象。

String(char[ ] value):通过char数组构造字符串对象。

String(Sting original):构造一个original的副本。即:拷贝一个original。

String(StringBuffer buffer):通过StringBuffer数组构造字符串对象。

例如:

byte[] b = {'a','b','c','d','e','f','g','h','i','j'};

char[] c = {'0','1','2','3','4','5','6','7','8','9'};

String sb = new String(b);                 //abcdefghij

String sb_sub = new String(b,3,2);     //de

String sc = new String(c);                  //

String sc_sub = new String(c,3,2);    //

String sb_copy = new String(sb);       //abcdefghij

System.out.println("sb:"+sb);

System.out.println("sb_sub:"+sb_sub);

System.out.println("sc:"+sc);

System.out.println("sc_sub:"+sc_sub);

System.out.println("sb_copy:"+sb_copy);

输出结果:

sb:abcdefghij                   

    sb_sub:de                       

sc:0123456789                        

sc_sub:34                        

sb_copy:abcdefghij

二、方法:

说明:①、所有方法均为public。            ②、书写格式: [修饰符] <返回类型><方法名([参数列表])>

例如:static int parseInt(String s)       表示此方法(parseInt)为类方法(static),返回类型为(int),方法所需要为String类型。

1. char charAt(int index) :取字符串中的某一个字符,其中的参数index指的是字符串中序数。字符串的序数从0开始到length()-1 。

例如:String s = new String("abcdefghijklmnopqrstuvwxyz");

System.out.println("s.charAt(5): " + s.charAt(5) );

结果为: s.charAt(5): f

2. int compareTo(String anotherString) :当前String对象与anotherString比较。相等关系返回0;不相等时,从两个字符串第0个字符开始比较,返回第一个不相等的字符差,另一种情况,较长字符串的前面部分恰巧是较短的字符串,返回它们的长度差。

3. int compareTo(Object o) :如果o是String对象,和2的功能一样;否则抛出ClassCastException异常。     例如:String s1 = new String("abcdefghijklmn");             String s2 = new String("abcdefghij");            String s3 = new String("abcdefghijalmn");            System.out.println("s1.compareTo(s2): " + s1.compareTo(s2) ); //返回长度差            System.out.println("s1.compareTo(s3): " + s1.compareTo(s3) ); //返回'k'-'a'的差            结果为:s1.compareTo(s2): 4                        s1.compareTo(s3): 10

4. String concat(String str) :将该String对象与str连接在一起。

5. boolean contentEquals(StringBuffer sb) :将该String对象与StringBuffer对象sb进行比较。

6. static String copyValueOf(char[] data) :

7. static String copyValueOf(char[] data, int offset, int count) :这两个方法将char数组转换成String,与其中一个构造函数类似。

8. boolean endsWith(String suffix) :该String对象是否以suffix结尾。     例如:String s1 = new String("abcdefghij");            String s2 = new String("ghij");            System.out.println("s1.endsWith(s2): " + s1.endsWith(s2) );            结果为:s1.endsWith(s2): true

9. boolean equals(Object anObject) :当anObject不为空并且与当前String对象一样,返回true;否则,返回false。

10. byte[] getBytes() :将该String对象转换成byte数组。

11. void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) :该方法将字符串拷贝到字符数组中。其中,srcBegin为拷贝的起始位置、srcEnd为拷贝的结束位置、字符串数值dst为目标字符数组、dstBegin为目标字符数组的拷贝起始位置。      例如:char[] s1 = {'I',' ','l','o','v','e',' ','h','e','r','!'};//s1=I love her!            String s2 = new String("you!"); s2.getChars(0,3,s1,7); //s1=I love you!            System.out.println( s1 );            结果为:I love you!

12. int hashCode() :返回当前字符的哈希表码。

13. int indexOf(int ch) :只找第一个匹配字符位置。

14. int indexOf(int ch, int fromIndex) :从fromIndex开始找第一个匹配字符位置。

15. int indexOf(String str) :只找第一个匹配字符串位置。

16. int indexOf(String str, int fromIndex) :从fromIndex开始找第一个匹配字符串位置。       例如:String s = new String("write once, run anywhere!");               String ss = new String("run");               System.out.println("s.indexOf('r'): " + s.indexOf('r') );               System.out.println("s.indexOf('r',2): " + s.indexOf('r',2) );               System.out.println("s.indexOf(ss): " + s.indexOf(ss) );               结果为:s.indexOf('r'): 1                       s.indexOf('r',2): 12                       s.indexOf(ss): 12

17. int lastIndexOf(int ch)

18. int lastIndexOf(int ch, int fromIndex)

19. int lastIndexOf(String str)

20. ));      } } 运行结果:5        (其中fromIndex的参数为 7,是从字符串acbdebfg的最后一个字符g开始往前数的位数。既是从字符c开始匹配,寻找最后一个匹配b的位置。所以结果为 5)
21. int length() :返回当前字符串长度。

22. String replace(char oldChar, char newChar) :将字符号串中第一个oldChar替换成newChar。

23. boolean startsWith(String prefix) :该String对象是否以prefix开始。

24. boolean startsWith(String prefix, int toffset) :该String对象从toffset位置算起,是否以prefix开始。      例如:String s = new String("write once, run anywhere!");              String ss = new String("write");              String sss = new String("once");              System.out.println("s.startsWith(ss): " + s.startsWith(ss) );              System.out.println("s.startsWith(sss,6): " + s.startsWith(sss,6) );              结果为:s.startsWith(ss): true                      s.startsWith(sss,6): true

25. String substring(int beginIndex) :取从beginIndex位置开始到结束的子字符串。

26.String substring(int beginIndex, int endIndex) :取从beginIndex位置开始到endIndex位置的子字符串。

27. char[ ] toCharArray() :将该String对象转换成char数组。

28. String toLowerCase() :将字符串转换成小写。

29. String toUpperCase() :将字符串转换成大写。      例如:String s = new String("java.lang.Class String");              System.out.println("s.toUpperCase(): " + s.toUpperCase() );              System.out.println("s.toLowerCase(): " + s.toLowerCase() );              结果为:s.toUpperCase(): JAVA.LANG.CLASS STRING                   s.toLowerCase(): java.lang.class string

30. static String valueOf(boolean b)

31. static String valueOf(char c)

32. static String valueOf(char[] data)

33. static String valueOf(char[] data, int offset, int count)

34. static String valueOf(double d)

35. static String valueOf(float f)

36. static String valueOf(int i)

37. static String valueOf(long l)

38. static String valueOf(Object obj)      以上方法用于将各种不同类型转换成Java字符型。这些都是类方法。

Java中String类的常用方法:

public char charAt(int index) 返回字符串中第index个字符;

public int length() 返回字符串的长度;

public int indexOf(String str) 返回字符串中第一次出现str的位置;

public int indexOf(String str,int fromIndex) 返回字符串从fromIndex开始第一次出现str的位置;

public boolean equalsIgnoreCase(String another) 比较字符串与another是否一样(忽略大小写);

public String replace(char oldchar,char newChar) 在字符串中用newChar字符替换oldChar字符

public boolean startsWith(String prefix) 判断字符串是否以prefix字符串开头;

public boolean endsWith(String suffix) 判断一个字符串是否以suffix字符串结尾;

public String toUpperCase() 返回一个字符串为该字符串的大写形式;

public String toLowerCase() 返回一个字符串为该字符串的小写形式

public String substring(int beginIndex) 返回该字符串从beginIndex开始到结尾的子字符串;

public String substring(int beginIndex,int endIndex) 返回该字符串从beginIndex开始到endsIndex结尾的子字符串

public String trim() 返回该字符串去掉开头和结尾空格后的字符串

public String[] split(String regex) 将一个字符串按照指定的分隔符分隔,返回分隔后的字符串数组 实例:   public class SplitDemo{      public static void main (String[] args) {
             String date = "2008/09/10";             String[ ] dateAfterSplit= new String[3];             dateAfterSplit=date.split("/");        //以“/”作为分隔符来分割date字符串,并把结果放入3个字符串中。             for(int i=0;i<dateAfterSplit.length;i++)                        System.out.print(dateAfterSplit[i]+" ");       } }
运行结果:2008 09 10          //结果为分割后的3个字符串

实例: TestString1.java: 程序代码

public class TestString1 {

public static void main(String args[]) {

String s1 = "Hello World" ;

String s2 = "hello world" ;

System.out.println(s1.charAt(1)) ;

System.out.println(s2.length()) ;

System.out.println(s1.indexOf("World")) ;

System.out.println(s2.indexOf("World")) ;

System.out.println(s1.equals(s2)) ;

System.out.println(s1.equalsIgnoreCase(s2)) ;

String s = "我是J2EE程序员" ;

String sr = s.replace('我','你') ;

System.out.println(sr) ;

}

}

TestString2.java: 程序代码

public class TestString2 {

public static void main(String args[]) {

String s = "Welcome to Java World!" ;

String s2 = "   magci   " ;

System.out.println(s.startsWith("Welcome")) ;

System.out.println(s.endsWith("World")) ;

String sL = s.toLowerCase() ;

String sU = s.toUpperCase() ;

System.out.println(sL) ;

System.out.println(sU) ;

String subS = s.substring(11) ;

System.out.println(subS) ;

String s1NoSp = s2.trim() ;

System.out.println(s1NoSp) ;

}

java--String方法的更多相关文章

  1. 新手容易混乱的String+和StringBuffer,以及Java的方法参数传递方式。

    之前在交流群里和猿友们讨论string+和stringbuffer哪个速度快以及Java的方法参数传递的问题,引起了群里猿友的小讨论.最终LZ得出的结果是string+没有stringbuffer快, ...

  2. java基础知识回顾之---java String final类普通方法

    辞职了,最近一段时间在找工作,把在大二的时候学习java基础知识回顾下,拿出来跟大家分享,如果有问题,欢迎大家的指正. /*     * 按照面向对象的思想对字符串进行功能分类.     *      ...

  3. Java String.contains()方法(转载)

    Java String.contains()方法 Java String.contains()方法用法实例教程, 返回true,当且仅当此字符串包含指定的char值序列 描述 java.lang.St ...

  4. Java String.replace()方法

    Java String.replace()方法用法实例教程, 返回一个新的字符串,用newChar替换此字符串中出现的所有oldChar 声明 以下是java.lang.String.replace( ...

  5. 【Java】Java中常用的String方法

    本文转载于:java中常用的String方法 1 length()字符串的长度 String a = "Hello Word!"; System.out.println(a.len ...

  6. Java String lastIndexOf() 方法

    Java String lastIndexOf() 方法 测试代码 public class Test { public static void main(String[] args) { // -- ...

  7. 从Java String实例来理解ANSI、Unicode、BMP、UTF等编码概念

    转(http://www.codeceo.com/article/java-string-ansi-unicode-bmp-utf.html#0-tsina-1-10971-397232819ff9a ...

  8. Java之方法重载篇(我重载了,你要如何来调用我。。)

      一.课前引言 请看一下代码,你发现什么特殊之处了吗? public class MethodOverload { public static void main(String[] args) { ...

  9. effective java —— 终结方法守卫者

    目录: effective java —— 终结方法守卫者 effective java 第2章:创建和销毁对象.第7条 : 避免使用终结方法.最后的“终结方法守卫者 (finalizer guard ...

  10. Java parseInt()方法

    1.Java parseInt()方法 使用此方法得到的原始数据类型的一个特定的字符串. parseXxx()是一个静态方法,可以有一个参数或两个. java parseInt() 语法:   sta ...

随机推荐

  1. C# 自定义控件的一些文章和博客

    http://blog.csdn.net/songkexin/archive/2009/12/08/4961215.aspx http://www.cnblogs.com/yuanfan/archiv ...

  2. python自学笔记(四)python基本数据类型之元组、集合、字典

    一.元组tuple 特性 1.有序集合 2.通过偏移来取数据 3.不可变对象,不能在原地修改内存,没有排序.修改等操作 元组不可变的好处:保证数据的安全,比如我们传给一个不熟悉的方法,确保不会改变我们 ...

  3. 高质量程序设计指南C/C++语言——C++/C程序设计入门(4)

    *switch结构的break语句只是一个“jmp”指令,其作用就是跳到switch结构的结尾处 *标准C++/C语言提供3种循环:do/while.while和for,它们都在条件表达式为TRUE( ...

  4. 怪兽z主机 驱动集

    这里给买家朋友送上我们主机的驱动包. 1.主板驱动.  访问密码 f334 http://yunpan.cn/QNTGxehcnLBW5 2.AMD显卡催化剂 amd catalyst(没装的话,无法 ...

  5. 宣布正式发布 Windows Azure 上的 Oracle 软件以及 Windows Azure Traffic Manager 更新

     Windows Azure 的核心原则之一就是为客户提供一个开放.灵活的平台.今天是一个令人振奋的里程碑,因为我们与 Oracle 的合作又向前迈进了一步.Oracle Database.Ora ...

  6. BZOJ 1023

    program bzoj1023; uses math; ; maxn=; maxm=; type edge=record togo,next:longint; end; var n,m,cnt,in ...

  7. 重温 Win32 API ----- 截屏指定窗体并打印

    朋友说在一个VC++6.0开发的项目中要增加打印窗体的功能,让帮忙写个代码供其调用. 这么老的IDE当然不想碰了,并且也不喜欢MFC笨拙不清晰的封装.所以决定採用纯Win32 API,然后用C++类简 ...

  8. Html.text(转载)

    2.Html.ValidationSummary:用来显示ModelState字典中所有验证错误的无序列表,使用布尔值类型参数(true)来告知辅助方法排除属性级别的错误,只显示ModelState中 ...

  9. [译]SSRS 编写带参数的MDX报表

    编写MDX报表长久以来对于报表人员来说都比较痛苦. 当然如果你用查询设计器(Query Designer) 直接拖拉数据集那就很方便,但是你们有没有想过查询设计器是怎么创建MDX的.或者创建的参数是如 ...

  10. 优酷DEMO

    http://v.youku.com/v_show/id_XMTQxOTc4ODA4OA==.html http://v.youku.com/v_show/id_XMTQxOTc5MjU1Mg==.h ...