String类型以及相关方法

String类型

概述:

(1)用来定义字符串的类型。

(2)引用数据类型。

(3)在java.lang包定义,使用该类不需要导包

  • 特点:

    • 定义String字符串,可以直接接收一个字符串常量

      如果接收的是字符串常量,该常量在常量池种存储

      如果接收的是new对象,那么该对象在堆内存种单独存储

    • 定义String字符串,可以使用new创建一个字符串对象

    • 定义的String字符串,字符串本身不能被直接修改

      【因为String类型种维护的是一个字符数组,该字符数组是私有修饰,在类中只提供了获取的方式,没有提供修改的方法。所以只能获取或者赋值,不能改值】

内存图解

String类的构造方法

String()
  • 空参构造
String St = new String();
String(byte[] bytes) :
  • 将一个字节数组转成一个字符串,解码
byte[] by = {12,43,8,1,4};
        String st = new String(by);
        System.out.println(st);
  • String(byte[] bytes, int offset, int length) :
  • 将字节数组的一部分转成字符串
byte[] by = {12,43,8,1,4};
        String st1 = new String(by,2,3);
        System.out.println(st1);
  • String(char[] value) :
  • 将一个字符数组转成一个字符串
char[] c = {'x','y','z'};
        String st2 = new String(c);
        System.out.println(st2);
//xyz
  • String(char[] value, int offset, int count) :
  • 将字符数组的一部分转成字符串
char[] c1 = {'x','y','z','q'};
        String st3 = new String(c,1,2);
        System.out.println(st3);
//yz
  • String(String original) :
  • 通过有参构造方法,将字符串常量存储在字符串对象中
String st4 = new String("chenshuang");
System.out.println(st4);
//chenshuang

String类的判断功能

  • contains(String s) :判断是否包含参数
String str = "chenshuang";
        System.out.println(str.contains("en"));
        System.out.println(str.contains("es"));
//chenshuangen
//chenshuanges
  • endsWith(String suffix) :判断调用者字符串是否以参数字符串结尾
String str1 = "chenshuang";
        System.out.println(str1.endsWith("g"));
        System.out.println(str1.endsWith("shuang"));
//true
//false
  • startsWith(String prefix) :判断调用者字符串是否以参数字符串开头
 String str2 = "chenshuang";
        System.out.println(str2.startsWith("chen"));
//true
  • equals(Object anObject) :判断两个字符串是否一样
String str3 = "chenshuang";
		System.out.println(str3.equals("chenshuang"));
//true
  • equalsIgnoreCase(String anotherString) :忽略大小写判断两个字符串是否一样
String str4 = "chenshuang";
        System.out.println(str4.equalsIgnoreCase("chENSHUang"));
//true
  • isEmpty() :判断调用者是否为空
String str5 = "chenshuang";
        System.out.println(str5.isEmpty());
        System.out.println("".isEmpty());
//false
//true

String类的获取功能

  • charAt(int index) : 获取index索引对应的字符
String s = "chenshuang";
        System.out.println(s.charAt(4));
//s
  • concat(String str) :拼接字符串
String s = "chenshuang";
System.out.println(s.concat("9990328"));
//chenshuang9990328
  • indexOf(int ch) :获取ch字符在字符串中的索引
String s = "chenshuang";
System.out.println(s.indexOf("s"));
//4
  • indexOf(int ch, int fromIndex) :从指定位置找ch字符出现的索引
String s = "chenshuang";
System.out.println(s.indexOf("n",4));
//8
  • indexOf(String str) :找str字符串在调用者中出现的索引
String s = "chenshuang";
 System.out.println(s.indexOf("shuang"));
//4
  • indexOf(String str, int fromIndex) :从指定位置寻找str出现的索引
String s = "chenshuang";
System.out.println(s.indexOf("shuang",3));
//4
  • lastIndexof():从后往前找指定元素出现的索引
String s = "chenshuang";
System.out.println(s.lastIndexOf("e"));
//2
  • length() :返回字符串的长度
String s = "chenshuang";
System.out.println(s.length());
//10
  • substring(int beginIndex) :从参数索引开始往后截取字符串,形成一个新串
String s = "chenshuang";
String s1 = s.substring(4);
        System.out.println(s1);
//shuang
  • substring(int beginIndex, int endIndex) :截取字符串一部分,形成一个新串

    包含头部索引,不包含尾部索引

String s = "chenshuang";
String s2 = s.substring(4,6);
        System.out.println(s2);
//sh
  • split(regix:n) : 根据条件截断字符串
String s = new String("chenshuangchenshuang");
String[] str = s.split("n");
System.out.println(Arrays.toString(str));
//[che, shua, gche, shua, g]
  • split(regix:n ,limit:4): 根据条件截断字符串、截 4 段
String s = new String("chenshuangchenshuang");
String[] str1 = s.split("n",4);
System.out.println(Arrays.toString(str1));
//[che, shua, gche, shuang]

String类的转换功能

  • getBytes() :将字符串转成字节数组
String s ="chenSHUANG";
System.out.println(Arrays.toString(s.getBytes()))
//[99, 104, 101, 110, 83, 72, 85, 65, 78, 71]
  • toCharArray() :将字符串转为字符数组
String s ="chenSHUANG";
System.out.println(s.toCharArray());
//chenSHUANG
  • toLowerCase() :将字符串转为全小写形式
String s ="chenSHUANG";
System.out.println(s.toLowerCase() );
//chenshuang
  • toUpperCase() :将字符串转成全大写形式
String s ="chenSHUANG";
System.out.println(s.toUpperCase() );
//CHENSHUANG
  • valueOf(参数) :将基本类型数据的参数或者引用类型转为字符串类型,当前方法是一个 静态方法,可以通过类名直接调用。
		int i = 1829;
        String str =String.valueOf(i);
        System.out.println(str);

//1829
  • trim() :去掉前后两边的空格
 String st = "    chchen    ";
        System.out.println(st);
        System.out.println(st.trim());
//    chchen    
//chchen

  • replace(char oldChar, char newChar) :将old元素改为new元素
String st1 = "chenshuang";
        String st2 = st1.replace("shuang","19990328");
        System.out.println(st2);
//chen19990328
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

皮卡丘不断更

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值