A003Java常用API-String

一、概述

1、包路径

java.lang.String

 

2、简介

String 类代表字符串;

Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现;

 

3、字符串的特点

字符串是常量,内容不可改变——所看到的“改变 ”只是改变了指向;

字符串可以共享——若两个字符串内容完全相同,则是两个变量指向了同一个内容,通过new关键字创建的字符串除外;

字符串相当于char[]字符数组,但底层原理是byte[]字节数组;

 

二、使用方法

1、创建字符串的4种方法

构造方法创建:

public String();//通过双引号引起内容创建

public String(char[] array);;//通过字符数组创建

public String(byte[] array);;//通过字节数组创建

直接创建:

String str = "字符串内容";(重要备注:仅且仅用此方式创建,字符串存放在字符串常量池中,字符串常量池是在堆中的)

使用:

        String str1 = "abc";
        String str2 = new String("abc");
        char[] chars = {'a','b','c'};
        String str3 = new String(chars);
        byte[] bytes = {97,98,99};
        String str4 = new String(bytes);
        System.out.println(str1);//abc
        System.out.println(str2);//abc
        System.out.println(str3);//abc
        System.out.println(str4);//abc

比较:

        String str1 = "abc";
        String str2 = new String("abc");
        char[] chars = {'a','b','c'};
        String str3 = new String(chars);
        byte[] bytes = {97,98,99};
        String str4 = new String(bytes);
        System.out.println(str1);//abc
        System.out.println(str2);//abc
        System.out.println(str3);//abc
        System.out.println(str4);//abc
        System.out.println(str1==str2);//false
        System.out.println(str1==str3);//false
        System.out.println(str1==str4);//false
        System.out.println(str2==str3);//false
        System.out.println(str2==str4);//false
        System.out.println(str3==str4);//false
        //但是注意了
        String str5 = "abc";
        System.out.println(str1==str5);//true
        //因为直接创建的内容相同的字符串在字符串常量池中共享,所以地址是相同的

内存图:

 

2、获取相关的常用方法

获取字符串长度:

System.out.println("abc".length());//3

拼接字符串并返回拼接后的字符串:

System.out.println("hello".concat(" world"));//hello world

获取指定位置的单个字符:

System.out.println("hello".charAt(2));//l

查找子字符串首次出现的索引位置,没有则返回-1:

System.out.println("hello".indexOf("he"));//0

 

3、截取相关的常用方法

截取从参数位置一直到字符串就结尾的字符串:

System.out.println("abcdefg".substring(2));//cdefg

截取从一个位置到另一个位置的字符串:

System.out.println("abcdefg".substring(2,5));//cde

 

4、转换相关的常用方法

转换为字符串数组:

        String string = "abc";
        char[] chars = string.toCharArray();
        for (char c : chars) {
            System.out.println(c);//a b c
        }

转换为字节数组:

        byte[] bytes = string.getBytes();
        for (byte b : bytes) {
            System.out.println(b);//97 98 99
        }

用新的子字符串替换旧的子字符串:

        System.out.println(string.replace("a","z"));//zbc

 

5、字符串分割方法

方法:

String[] split(String regex)//这个字符串实际上是正则表达式,不是简单的字符串

作用:

将字符串按照一定的规则分割成若干字符串,返回字符串数组

使用:

        String string = "a,b,c";
        String[] strings = string.split(",");
        for (String s : strings) {
            System.out.println(s);//a b c
        }

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章