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); //0123456789
String sc_sub = new String(c,3,2); //34
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. int lastIndexOf(String str, int fromIndex) 以上四个方法与13、14、15、16类似,不同的是:找最后一个匹配的内容。

public class CompareToDemo {
public static void main (String[] args) {
String s1 = new String("acbdebfg");
System.out.println(s1.lastIndexOf((int)'b',7));
}
}

运行结果: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. Java修炼——String类_常用方法_常量池

    String类的定义:String 是不可变字符序列 String 类的常用方法(全部都是不能改变String本身的值,都是在常量池里输出,没有改变其值) String string="ab ...

  2. Java问题解读系列之String相关---String类的常用方法?

    今天的题目是:String类的常用方法? 首先,我们在eclipse中定义一个字符串,然后使用alt+/就会出现String类的所有方法,如下图所示: 下面我就挑选一些常用的方法进行介绍: 首先定义两 ...

  3. JAVA String 类

    java String类中的常用方法:public char charAt(int index)返回字符串中第index个字符:public int length()返回字符串的长度:public i ...

  4. Java String类详解

    Java String类详解 Java字符串类(java.lang.String)是Java中使用最多的类,也是最为特殊的一个类,很多时候,我们对它既熟悉又陌生. 类结构: public final ...

  5. Java String类具体解释

    Java String类具体解释 Java字符串类(java.lang.String)是Java中使用最多的类,也是最为特殊的一个类,非常多时候,我们对它既熟悉又陌生. 类结构: public fin ...

  6. Java 11 - Java String类

    Java String类 字符串广泛应用在Java编程中,在Java中字符串属于对象,Java提供了String类来创建和操作字符串. 创建字符串 创建字符串最简单的方式如下: String gree ...

  7. Java-Runoob:Java String 类

    ylbtech-Java-Runoob:Java String 类 1.返回顶部 1. Java String 类 字符串广泛应用 在Java 编程中,在 Java 中字符串属于对象,Java 提供了 ...

  8. String 类的常用方法都有那些?(未完成)

    String 类的常用方法都有那些?(未完成)

  9. 总结String类的常用方法

    总结String类的常用方法 1. 获取字符串长度 public int length() 2. 获取字符串某一位置的字符 public char charAt(int index) 注意:字符串中第 ...

随机推荐

  1. 142. Linked List Cycle II

    题目: Given a linked list, return the node where the cycle begins. If there is no cycle, return null. ...

  2. CSS应用给网页元素的几种方式总结

    一.内联式样式表 直接在HTML标签中使用style进行定义样式.如:<p style="color:red;">这里是红色文字</p>. 二.嵌入式样式表 ...

  3. [Android] adb 命令 dumpsys activity , 用来看 task 中的activity。 (uninstall virus)

    用“adb shell dumpsys activity”命令再来查看一下系统运行的的任务,就会看到: ACTIVITY MANAGER ACTIVITIES (dumpsys activity ac ...

  4. NYOJ题目817英文藏头诗

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAtEAAAKXCAIAAADLqoEhAAAgAElEQVR4nO3dO1LrzNbG8W8S5AyE2D

  5. java 中的一个项目如何做到访问另一个项目的一个方法 或者 页面

    两种方法:1.将一个项目打成jar包,第二个项目进行导入该jar包,就可以使用第一个项目里的类方法属性等2.将第一个项目发布出去,然后第二个项目调用,所谓发布出去就是开发远程接口,允许其他人调用.

  6. PHP面向对象——静态属性和静态方法

    静态属性 所谓静态属性,也就是这个属性对于这个类来说是唯一的,不管有多少个对象,只要它引用了一个静态对象,那么这些对象引用出来的值肯定是同一个. 静态变量不能使用->这种箭头符号,而是使用::这 ...

  7. Clr Via C#读书笔记---CLR寄宿和应用程序域

    #1 CLR寄宿: 开发CLR时,Microsoft实际是将他实现成包含在一个dll中的COM服务器.Microsoft为CLR定义了一个标准的COM接口,并为该接口和COM服务器分配了GUID.安装 ...

  8. Hibernate的ORM原理和实现

    >>Hibernate和ORM ORM的全称是Object Relational Mapping,即对象关系映射.它的实现思想就是将关系数据库中表的数据映射成为对象,以对象的形式展现,这样 ...

  9. Yii 同域名的单点登录 SSO实现

    SSO (Single Sign-on) 顾名思义就是几个子项目共用一个登录点. 原理简单来说就是服务端session 共享, 客户端跨域cookies. 实现非常简单,protected/confi ...

  10. 讲解JS的promise,这篇是专业认真的!

    http://www.zhangxinxu.com/wordpress/2014/02/es6-javascript-promise-%E6%84%9F%E6%80%A7%E8%AE%A4%E7%9F ...