string类的使用方法详解

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字符型。这些都是类方法。

赞 (0)

相关推荐

  • string类的使用方法详解

    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) :通过

  • Java AtomicInteger类的使用方法详解

    首先看两段代码,一段是Integer的,一段是AtomicInteger的,为以下: public class Sample1 { private static Integer count = 0; synchronized public static void increment() { count++; } } 以下是AtomicInteger的: public class Sample2 { private static AtomicInteger count = new AtomicIn

  • 对python:threading.Thread类的使用方法详解

    Python Thread类表示在单独的控制线程中运行的活动.有两种方法可以指定这种活动: 1.给构造函数传递回调对象 mthread=threading.Thread(target=xxxx,args=(xxxx)) mthread.start() 2.在子类中重写run() 方法 这里举个小例子: import threading, time class MyThread(threading.Thread): def __init__(self): threading.Thread.__in

  • python 中Mixin混入类的使用方法详解

    目录 前言 Mixin 与继承的区别 总结 前言 最近在看sanic的源码,发现有很多Mixin的类,大概长成这个样子 class BaseSanic(    RouteMixin,    MiddlewareMixin,    ListenerMixin,    ExceptionMixin,    SignalMixin,    metaclass=SanicMeta, ): 于是对于这种 Mixin 研究了一下,其实也没什么新的东西,Mixin 又称混入,只是一种编程思想的体现,但是在使用

  • Java中Optional类及orElse方法详解

    目录 引言 Java 中的 Optional 类 ofNullable() 方法 orElse() 方法 案例 orElseGet() 方法 案例 orElse() 与 orElseGet() 之间的区别 引言 为了让我更快的熟悉代码,前段时间组长交代了一个小任务,大致就是让我整理一下某个模块中涉及的 sql,也是方便我有目的的看代码,也是以后方便他们查问题(因为这个模块,涉及的判断很多,所以之前如果 sql 出错了,查问题比较繁琐). 昨天算是基本完成了,然后今天组长就让给我看一个该模块的缺陷

  • Python序列对象与String类型内置方法详解

    本文实例讲述了Python序列对象与String类型内置方法.分享给大家供大家参考,具体如下: 前言 在Python数据结构篇中介绍了Python的序列类型数据结构,这次继续深入的学习序列和String类型对象的内建方法. 软件环境 系统 UbuntuKylin 14.04 软件 Python 2.7.3 IPython 4.0.0 序列类型 序列类型,即由整数进行索引的对象的有序集合.其中又可以分为下面两类: 可变序列:列表,支持元素的插入.删除.替换 不可变序列:元组.字符串 序列的操作方法

  • Java如何重写object类的equals方法详解

    1.Object类的equals()方法: 比较两个对象是否是同一个对象,equals() 方法比较两个对象,是判断两个对象引用指向的是同一个对象,即比较 2 个对象的内存地址是否相等.是则返回true Object类是所有类的父类,它的equals方法自然会被所有类继承,有一个子 类String对equals方法进行了覆盖(重写),使其具有了新功能 2.Object类的equals()方法与==没区别 Java.lang.String重写了equals()方法,把equals()方法的判断变为

  • JS中with的替代方法与String中的正则方法详解

    with 语法 在代码中,要执行这么一个函数 function computeExpression(exp, scope) { try { with (scope) { return eval(exp); } } catch (e) { console.error('ERROR', e); } } 要求在scope 作用域中执行,什么意思??? 比如 scope = {a:10,b:5}; exp = a*b; 要求计算结果为15,这种情况,常规情况下要使用 with语法. 但是: js的解释器

  • android多媒体类VideoView使用方法详解

    一.概述 VideoView类将视频的显示和控制集于一身,我们可以借助它完成一个简易的视频播放器.VideoView和MediaPlayer也比较相似. 二.VideoView的使用方法 它主要有以下几种常用方法 步骤: 1.指定视频文件的路径, 2.接下来调用start()方法就可以开始播放视频,pause()方法就会暂停播放,resume()方法就会重新播放 注:获取视频文件也需要运行时权限,所有相关逻辑也需要写.       最后不要忘记在AndroidManifest.xml文件中声明用

  • HttpHelper类的调用方法详解

    本文实例为大家分享了HttpHelper类的方法使用,供大家参考,具体内容如下 首先列出HttpHelper类 /// <summary> /// Http操作类 /// </summary> public class HttpHelper { private static log4net.ILog mLog = log4net.LogManager.GetLogger("HttpHelper"); [DllImport("wininet.dll&qu

随机推荐