首页 > 技术文章 > java字符串

lxx99 2019-06-05 12:03 原文

java。long包中提供了三个字符串类型:String类,(不可变字符串)StringBuffer类,StringBuilder类(可变字符串).这三种字符串被申明为final,不能被继承。

StringBuffer是线程安全的,StringBuilder是线程不安全;

java 的字符串是一个对象(引用数据类型)

一.String类

1.创建字符串

1.1:

String s;

s=new String();//创建一个空字符串对象

1.2

String s="haha";

String t=new String(s);//复制字符串

1.3

String(char value[])方法

char c[]={'a','b','c'};//用一个字符数组创建一个字符串对象

String str=new String(c);//相当于str=abc

1.4

String(StringBuffer buffer)//可变字符串

2.获取字符串的长度

length():返回字符串的长度

3.字符串的比较

3.1

equals()和equalsIgnoreCase()

equals()比较两个对象实例是否相同

返回boolean类型的结果

equalsIgnoreCase()比较时忽略大小写

3.2

compareTo()和compareToignoreCase()不常用

将两个字符串按其对应的Unicode码值进行比较后者不区分大小写。

4:字符串连接

4.1:+

4.2concate()  例如:s1.concat(s2)

5.常用方法:

  • charAt(int  i):返回指定索引处的字符;
  • length():返回字符串的长度;
  • contains(CharSequence  c):判断字符串中是否包含指定的字符序列;
  • startsWith(String s):判断字符串是否以指定的前缀开始;
  • endsWith(String s):判断字符串是否以指定的后缀结束;
  • indexOf(char c):返回指定字符在字符串中第一次出现的索引;
  • lastIndexOf(char c):返回指定字符在字符串中最后一次出现的索引;
  • isEmpty():当且仅当字符串长度为0时,返回true
  • replace(char old,char new):把字符串中的old字符替换为new字符,然后返回一个新字符串;
  • split(String s):根据指定的规则拆分字符串,返回字符串数组;
  • subString(int begin,int end):按照指定的索引截取字符串,从begin(包含)开始,到end(不包含)结束;
  • toLowerCase():把字符串的英文字母全部转为小写;
  • toUpperCase():把字符串的英文字母全部转为大写;
  • trim():清除字符串前后的空白字符;
  • valueOf():把指定类型的数据转为字符串类型;
  • toCharArray():把字符串转为字符数组;

 二:StringBufer类(可变字符串序列)

StringBufferStringBuilder都是可变的字符序列,唯一的区别:StringBuffer是线程安全的,StringBuilder是线程不安全;

常用方法:

  • append():追加;
  • toString():把所有追加的内容以String类型返回;

推荐阅读