Solo  当前访客:0 开始使用

重新出发000005-阅读文章"String是一个很普通的类"。

2018-06-04 11:00:17 imadiaos
0  评论    0  浏览
package review.base.Java那些事儿;

public class 五_String是一个很普通的类 {

    public static void main(String[] args){
        TestSourceCodeString tscs = new TestSourceCodeString();
        tscs.printString();
    }

}

class TestSourceCodeString{
	/**
	 *  参考文章地址:https://zhuanlan.zhihu.com/p/27626724 
	 */
	 
    public static final String imdoor = "我是源码入口";

    public void printString(){
        String str1 = new String("abc");
        String str2 = new String("abc");

        StringBuffer sbf = new StringBuffer("a");
        sbf.append("b");
        sbf.append("c");
        System.out.println(str1.isEmpty());
        System.out.println(str1.length());
        System.out.println(str1.charAt(1));
        System.out.println(str1.substring(2,3));
        System.out.println(str1.equals(str2));

        System.out.println("判断是否为空:"+str1.isEmpty());      // 通过判断底层char数组长度是否为0判断
		System.out.println("字符串长度:"+str1.length());         // 直接返回底层char数组的length属性
		System.out.println("指定位置的字符:"+str1.charAt(1));     // 返回返回字符串
		System.out.println("截取字符串:"+str1.substring(0,1));    // 返回制定位置的字符串,截取开始位置和结束位置。如果开始位置是0并且结束位置是字符串长度,则直接返回当前对象本身。否则根据传入的范围构建一个新的String对象并返回。
		System.out.println("判断相等:"+str1.equals(str2));        // == && 类型一样 && char数组长度一样 && char数组每一个元素都一样
		System.out.println("变成数组:"+str1.toCharArray());        // 通过System.arraycopy赋值了一个等长的数组并返回。数组的长度来自原始的char数组的length。
		System.out.println("返回制定字符(串)在字符串中首次出现的位置:"+"abcdabcdabcd".indexOf("a"));                   //  返回指定的字符(串)在此字符串中第一次出现的索引。
		System.out.println("返回制定字符(串)在字符串中首次出现的位置,指定开始索引。:"+"abcdabcdabcd".indexOf("a",5));   //  返回此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索。这里需要注意的是,返回的是原始字符串相关的索引,而不是加了偏移量以后的。   例如当前写法的最终输出为8而不是3.
		System.out.println("返回制定字符(串)在字符串中最后一次出现的位置:"+"abcdabcdabcd".lastIndexOf("abc"));         //  返回指定的字符(串)在此字符串中最后一次出现的索引。

  }

}

,
TOP