String类

  • java中所有被双引号引起来的都是String类型的,
  • 一旦创建,不可改变,
  • 存储于方法区的字符串常量池,已创建的字符串一直存在于字符串常量池中,再次使用这个字符串时,不会再新建一个了,而是直接使用已存在的这个字符串。(无论何种方式创建的字符串都是如此)
  • 字符串常量池中的一个字符串也是一个字符串对象

String的构造方法

  1. String(byte[] bytes)
  • byte[]数组会将其中的数字,转换成对应的字符
  • 例如:byte[] bytes={97,98,99}
    String s1=new String(bytes)//输出abc
  1. String(byte[] bytes,int offset,int length)
  • 第二个参数为起始的位置
  • 第三个参数表示字符串的长度
  • 例:String s1=new String(bytes,1,2) //输出bc
  1. String(char[] chars)
    与1类似

  2. String(char[] chars,int offset,int length)
    与2类似

还有两个最常用的
String s="";
String s=new String("");

字符串中常用的方法

1.char charAt(int index)
-用法: char c = "中国人".charAt(1)------>结果:'国'
-作用:返回字符串中第index个字符。

2.int compareTo()

  • 作用:字符串之间比较大小的方法(不用> <比较),大于为1,小于为-1,等于为0
  • 与equals区别:equals只能比较两个字符串是否相等,而compareTo不但能比较是否相等,还能判断谁大谁小
  1. boolean contains()
  • 用法: str1.contains(str2)
  • 作用: 判断str1是否包含str2
  1. boolean endsWith()
  • 用法:str1.endsWith(str2)
  • 作用:判断str1是否以str2结尾
  1. boolean equalsIgnoreCase()
  • 用法:str1.equalsIgnoreCase(str2)
  • 作用:比较两个字符串是否相等,且忽略大小写
  1. byte[] getBytes()
  • 作用:将字符串转换成byte[]
  1. int indexOf()
  • 用法:"adcdefg".indexOf("def")------>结果为3
  • 作用:判断某个子字符串在当前字符串中第一次出现的索引
  1. boolean isEmpty()
  • 作用:判断某个字符串是否为空串(""),不是null
  1. int length()
  • 作用:得到字符串的长度
  • 得到数组的长度是调用数组的length属性,得到字符串长度是调用字符串的length()方法
  1. int lastIndexOf()
  • 作用:判断某个字符串在其父串中最后一次出现的索引
  1. String replace(charSequent 被替换的,charSequent 替换的)
  • charSequent是String的父接口
  • 用后面一个参数 替换字符串中含有的所有前一个参数字符串(替换所有)
  1. String[] split();
  • 用法:"1998-04-10".split("-")------->结果返回一个字符数组String[] s={"1998","04","10"}
    以-为分隔符,将字符串拆分
  1. boolean startsWith()
  • 作用:判断当前字符串是否以某个字符串开始
  1. String subString(int beginIndex)
  • "1234567".subString(3)----->4567
  • 从第3个索引开始截取字符串
  • 参数是起始下标
  1. String subString(int beginIndex,int endIndex)
  • "1234567".subString(3,6)---->456
  • [beginIndex,endIndex) 左闭右开,开始包含,结束不包含
  1. char[] toCharArry()
  • 作用:字符串转换为一个char类型的数组
  1. String toLowerCase()/toUpperCase()
    转换成小写/大写

  2. String trim()
    去除字符串前后空白(中间的空白不去)

  3. String valueOf()

  • String的静态方法,直接用String.valueOf()调用
  • 将参数中的非字符串,转换为字符串
posted @ 2021-11-02 22:59  这个世界会好的  阅读(39)  评论(0编辑  收藏  举报