string类的使用方法详解

 更新时间:2006年12月27日 00:00:00   作者:  
String:字符串类型

1、构造函数。

    String() :构造一个空字符串对象。
    String(byte[] bytes) :通过byte数组构造字符串对象。
    String(byte[] bytes, int offset, int length) :通过byte数组,从offset开始,总共length长的字节构造字符串对象。
    String(char[] value) :通过char数组构造字符串对象。
    String(char[] value, int offset, int count) :通过char数组,从offset开始,总共length长的字节构造字符串对象。
    String(String 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);
String sb_sub = new String(b,3,2);
String sc = new String(c);
String sc_sub = new String(c,3,2);
String sb_copy = new String(sb);

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

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

如:
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类似,不同的是:找最后一个匹配的内容。
    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字符型。这些都是类方法。

相关文章

  • C# wpf Bitmap转换成WriteableBitmap的方法

    C# wpf Bitmap转换成WriteableBitmap的方法

    本文主要介绍了C# wpf Bitmap转换成WriteableBitmap的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • 一篇文章看懂C#中的协变、逆变

    一篇文章看懂C#中的协变、逆变

    这篇文章主要给大家介绍了如何通过一篇文章看懂C#中协变、逆变的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用C#具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-08-08
  • C#之lock的使用及说明

    C#之lock的使用及说明

    这篇文章主要介绍了C#之lock的使用及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • C#常见应用函数实例小结

    C#常见应用函数实例小结

    这篇文章主要介绍了C#常见应用函数,结合实例形式总结分析了C#常用的时间、URL、HTML、反射、小数运算等相关函数,需要的朋友可以参考下
    2017-01-01
  • 在C#中如何获取程序集

    在C#中如何获取程序集

    某一天我正在写一些反射代码,目的是遍历所有的程序集来查找一个特定的接口,然后在Startup中调用其上的一个方法,这篇文章主要介绍了在C#中如何获取程序集,需要的朋友可以参考下
    2024-03-03
  • C#从文件流读取xml文件到DataSet并显示的方法

    C#从文件流读取xml文件到DataSet并显示的方法

    这篇文章主要介绍了C#从文件流读取xml文件到DataSet并显示的方法,实例分析了C#操作XML文件的技巧与DataSet的使用方法,需要的朋友可以参考下
    2015-04-04
  • 详解C# Lazy Loading(延迟加载)

    详解C# Lazy Loading(延迟加载)

    这篇文章主要介绍了C# Lazy Loading(延迟加载)的相关资料,帮助大家更好的理解和学习使用c#,感兴趣的朋友可以了解下
    2021-04-04
  • 简单记录C# 条件编译

    简单记录C# 条件编译

    条件编译是C#比Java多出的东西,但我跟前辈请教后,他们都说条件编译在实际的项目开发中不怎么使用.下面仅仅是将步奏记录下来,有需要的小伙伴可以参考下。
    2015-06-06
  • C#实现Markdown内容转为Word或PDF

    C#实现Markdown内容转为Word或PDF

    Markdown作为一种轻量级的标记语言,因其简洁易读、语法清晰的特点被广大程序员和技术文档编写者所青睐,本文主要介绍了如何使用C#实现Markdown内容转为Word或PDF,需要的可以参考下
    2024-03-03
  • C#结合Minio实现文件上传存储与更新

    C#结合Minio实现文件上传存储与更新

    MinIO是一个开源的对象存储服务器,专门设计用于在大规模数据存储环境中运行,这篇文章主要为大家介绍了C#如何结合Minio实现文件上传存储与更新,需要的可以参考下
    2024-03-03

最新评论