java字符串创建及常用方法

字符串String(一个字符数组,常量,不可变):

1. 创建并初始化字符串:

  1). 使用字符串常量直接初始化 String s="hello!";

  2). 使用构造方法创建并初始化

    String();//初始化一个对象,表示空字符序列

    String(value);//利用已存在的字符串常量创建一个新的对象

    String (char[] value);//利用一个字符数组创建一个字符串

    String(char[] value,int offset,int count);//截取字符数组offset到count的字符创建一个非空串

    String(StringBuffer buffer);//利用StringBuffer对象初始化String对象

public class zifuchuan {

    public static void main(String[] args) {
        String str3="字符串常量";
        String str="字符串常量字符串常量";//引起来表示一个字符串常量
        char[] c=new char[]{'我','很','好'};
        String str4=new String(c);
        System.out.println("str4="+str4);
        String str1=new String("字符串常量");//构造方法
        String str2=new String("字符串常量");//开辟新的内存空间
        
        System.out.println("str="+str);
        System.out.println("str1="+str1);
        System.out.println("str2="+str2);
        
        System.out.println("str1和str2是否相等:"+(str1==str2));
        System.out.println("str1和str是否相等:"+(str1==str));
        System.out.println("str和str2是否相等:"+(str==str2));
        System.out.println("str和str3是否相等:"+(str==str3));
        //==运算,比较的是内存地址是否相等
        System.out.println("str1和str2是否相等:"+(str1.equals(str2)));
        System.out.println("str1和str是否相等:"+(str1.equals(str)));
        
        System.out.println("字符串长度="+str.length());//字符串信息
        
        
        //查找字符串中子字符串的位置,返回找到之后首字的索引值
        System.out.println("常字的位置="+str.indexOf("常"));
        System.out.println("常量字的位置="+str.indexOf("常量"));
        
        //查找不到,返回-1;
        System.out.println("我字的位置="+str.indexOf("我"));
        System.out.println("最后常字的位置="+str.lastIndexOf("常"));
        
        //获取字符
        char c1=str.charAt(0);
        System.out.println("c1="+c1);
    }
}


//运行结果
/*
str4=我很好
str=字符串常量字符串常量
str1=字符串常量
str2=字符串常量
str1和str2是否相等:false
str1和str是否相等:false
str和str2是否相等:false
str和str3是否相等:false
str1和str2是否相等:true
str1和str是否相等:false
字符串长度=10
常字的位置=3
常量字的位置=3
我字的位置=-1
最后常字的位置=8
c1=字
*/

2. 字符串的常用方法:

  获取字符串信息:

    下标:indexOf(子字符)lastIndexOf(子字符)

    字符:charAt(下标)

    字节数组:getBytes()

    字符数组:toCharArray()

    长度:length()

  判断字符串

    相等:equals(字符串)

    前缀:startsWith(前缀)

    后缀:endsWith(后缀)

    大小:compareTo()

    子字符串:reagionMatches()(通过参数列表可以设置是否忽略大小写)

  替换字符串

    去掉前后空格:trim()

    子字符串:split(字符串),StringTokenizer()

  截取字符串

    单点截取:subString(开始下标)

    双点截取:subString(开始下标,结束下标)

  1)       charAt(下标):获取字符串指定下标位置的字符,返回char值

  2)       length():返回字符串的长度,返回int值

  3)       getBytes():将字符串转换为字节数组,返回byte[]值

  4)       indexOf(子字符串):返回指定子字符串在源字符串中的下标,返回int值,没找到返回-1.(可以指定开始检索的位置下标)

  5)       lastIndexOf():返回指定子字符串在源字符串中最后一次出现的下标

  6)       isEmpty():判断字符串的length是否为0,返回Boolean值

  7)       replace(旧子字符串,新字符串):用指定的新字符串替换源字符串中的旧子字符串部分,返回替换后的字符串,返回值String

  8)       subString(开始下标,结束下标):截取从开始到结束下标范围的字符串,结果包含开始,不包含结束,如果不给结束下标,表示直接截取到末尾

  9)       split(字符串):按照指定的字符串拆分源字符串,返回String[]数组

  10)    trim():用于返回去掉首尾空格的字符串

  11)    valueOf(其他类型数据):将指定数据转换为字符串值返回

  12)    toCharArray():返回将此字符串转换为一个新的字符数组

  13)    toString():返回此对象本身

  14)    toLowerCase():把字符串全部转换为小写

  15)    toUpperCase():把字符串全部转换为大写

  16)    startsWith(前缀):判断前缀是否相同

  17)    endsWith(后缀):判断后缀是否相同

  18)    compareTo():判断字符串的大小关系,参考ASSCI表

  19)    compareToIgnoreCase():忽略大小写判断字符串的大小关系

  20)    equals(字符串):比较字符串和指定字符串是否相等,返回boolean值

  21)    equalsIgnoreCase():忽略大小写的情况下判断内容是否相同

  22)    reagionMatches() :测试两个字符串区域是否相等

3. 字符串转换

  全部转换为大/小写:

    大写:toLowerCase()

    小写:toUpperCase()

  与其他基本类型的转换:

    把双引号中为数字的字符串转换成数字类型:包装类.parse包装类(字符串);

      Long.parseLong("1231");

      Double.parseDouble("0.213");

    把其他类型的参数转换为字符串类型:valueOf()

      第一种方法:基本数据类型变量+""

      第二种方法:String.valueOf(其他类型的参数);

4. 关于字符串类的说明:

  字符串类是常量类,所以字符串是常量,不可改变

猜你喜欢

转载自blog.csdn.net/weixin_40449300/article/details/84206276
今日推荐