Java-String类常用方法汇总

Posted Tan.]der

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java-String类常用方法汇总相关的知识,希望对你有一定的参考价值。

1.获取字符串长度

int length();

2.获取指定位置上某个字符

char charAt(int index);

3.获取指定字符在字符串中位置

int indexOf(int ch);//返回的是ch在字符串中第一次出现的位置

int indexOf(int ch, int fromIndex);//从fromIndex指定位置开始,获取ch在字符串中出现的位置

int indexOf(String str);//返回的是str在字符串中第一次出现的位置

int indexOf(String str, int fromIndex);//从fromIndex指定位置开始,获取str在字符串中出现的位置

int lastIndexOf(int ch);//返回的是str在字符串中最后一次出现的位置

4.判断字符串中是否包含某一个子串

boolean contains(str);//该方法只判断是否包含

特殊之处:indexOf(str);//可以索引str第一次出现位置,如果返回-1.表示该str不在字符串中存在
if(str.indexOf("aa")!=-1)//该方法即可以判断是否包含,也可以获取出现的位置

5.判断字符串是否为空

boolean isEmpty(): //原理就是判断长度是否为0.切记" "也是char并不为空

6.判断字符串是否是以指定内容开头

boolean startsWith(str);

7.字符串是否是以指定内容结尾

boolean endsWith(str);

8.判断字符串内容是否相同。复写了Object类中的equals方法

boolean equals(str);

9.判断内容是否相同,并忽略大小写

boolean equalsIgnoreCase();

10.将字符数组转换成字符串

构造函数:
String(char[])
String(char[],offset,count);//将字符数组中的一部分转成字符串

静态方法:
static String copyValueOf(char[]);
static String copyValueOf(char[] data, int offset, int count)
static String valueOf(char[]):

11.将字符串转成字符数组

char[] toCharArray();

12.将字节数组转成字符串

String(byte[])
String(byte[],offset,count):将字节数组中的一部分转成字符串。

13.将字符串转成字节数组

byte[]  getBytes();

14.将基本数据类型转成字符串

static String valueOf(int)
static String valueOf(double)
String str = 123 + "";
特殊:字符串和字节数组在转换过程中,是可以指定编码表的。

15. 替换指定字符

String replace(oldchar,newchar);//返回替换后的字符串

16.切割

String[] split(regex);//返回一个string数组

17.子串。获取字符串中的一部分

String substring(begin);//包含起点到结尾
String substring(begin,end);//从起点到end(不包括end下标)

18.将字符串转成大写或则小写

String toUpperCase();//大写
String toLowerCase();//小写

19.将字符串两端的多个空格去除

String trim();

20.对两个字符串进行自然顺序的比较

 int compareTo(string);//-1,0,1分别代表靠前,相等,靠后.

21.使用指定的格式字符串和参数返回格式化的字符串

/**
第一个参数为字符串格式,后面的参数可以任意多个,用于填充第一个参数中的格式控制符,最后返回完整的格式化后的字符串
格式控制符以%开头,常用的有以下几种
%s- 接受一个字符串并按照给定的参数格式化该字符串
%d- 接受一个数字并将其转化为有符号的整数格式
%f- 接受个数字并将其转化为浮点数格式(小数),默认保留 6 位小数,不足位用 0 填充
	如:%0.3f 中的小数点右边的数字表示小数点后面保留多少位,小数点前面的数字表示位数不足时的填充数,通用用0填充
%x- 接受一个数字并将其转化为小写的十六进制格式
	如:%08X 第1个数字0表示不足位数时的填充数,通常用0填充。第2个数字8表示格式化成多少位
	例如:str = string.format("@x%08X",348)
%X- 接受一个数字并将其转化为大写的十六进制格式
%c- 接受一个数字,并将其转化为 ASCII码表中对应的字符
%d,%i - 接受一个数字并将其转化为有符号的整数格式
%o- 接受一个数字并将其转化为八进制数格式
%u- 接受一个数字并将其转化为无符号整数格式
*/
static String format(String format, Object... args) 

Java-String类学习笔记

   String类位于java.lang包下,String类代表字符串,字符串是常量,它们的的值在创建后不能更改;为了支持可变的字符串,Java还为我们提供了StringBuilder和StringBuffer类。

1. String类中常用方法

    a. 与索引、长度相关的方法

返回值类型 函数名 功能
char charAt(int index) 返回指定索引处的 char 值。
String subString(int beginIndex,int endIndex) 返回一个新字符串,它是此字符串的一个子字符串。该子字符串从beginIndex 处开始,直到索引 endIndex - 1 处的字符。
int indexOf(int ch) 返回指定字符在此字符串中第一次出现处的索引。
int indexOf(String str) 返回指定子字符串在此字符串中第一次出现处的索引。
int lastIndexOf(int ch) 返回指定字符在此字符串中最后一次出现处的索引。
int lastIndexOf(String str) 返回指定子字符串在此字符串中最右边出现处的索引。
int length() 返回此字符串的长度。
boolean isEmpty() 当且仅当 length()0 时返回 true

   注意:在执行subString方法时,会创建新的字符数组,而不是使用现存的字符数组。

   b. 与比较、包含、转换相关的方法

返回值类型 函数名 功能
String concat(String str) 将指定字符串连接到此字符串的结尾。
boolean contains(charsequence s) 当且仅当此字符串包含指定的 char 值序列时,返回 true。
boolean endWith(String suffix) 测试此字符串是否以指定的后缀结束。
boolean startsWith(String prefix) 测试此字符串是否以指定的前缀开始。
int compareToIgnoreCase(String str) 按字典顺序比较两个字符串,不考虑大小写。
boolean equalsIgnoreCase(String anotherString) 将此 String 与另一个 String 比较,不考虑大小写。
byte[] getBytes(charset charset) 使用给定的 charset 将此 String 编码到 byte 序列,并将结果存储到新的 byte 数组。
char[] toCharArray() 将此字符串转换为一个新的字符数组。
String toUpperCase() 使用默认语言环境的规则将此 String 中的所有字符都转换为大写。
String toLowerCase() 使用默认语言环境的规则将此 String 中的所有字符都转换为小写。

   c. 与正则表达式相关的方法

返回值类型 函数名 功能
String matches(String regex)  
String replaceAll(String regex,String replacement) 使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串。
String replaceFirst(String regex,String replacement) 使用给定的 replacement 替换此字符串匹配给定的正则表达式的第一个子字符串。
String[] split(String regex) 根据给定正则表达式的匹配拆分此字符串。
String trim() 返回字符串的副本,忽略前导空白和尾部空白。
String replace(char oldchar,char newchar) 返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。
 1     public static void main(String[] args) {
 2 //      去除字符串的前导空白和尾部空白
 3         String str = " abc ed f ";
 4         System.out.println(str);
 5         System.out.println(str.trim());
 6 //      将字符串用空白字符分割开来
 7         String[] strArray = str.split("\\\\s+");
 8         System.out.println(strArray.length);
 9         for(String s:strArray){
10             System.out.println(s);
11         }
12     }

运行结果:

 

 

2. 题外话

   a. String对象一旦创建不可改变,而StringBuilder和StringBuffer是可变的,这就表示它们创建后仍可以修改他们的值;StringBuffer是synchronized的,它是线程安全的,但是比StringBuilder慢,如无安全要求,推荐使用StringBuilder。

  b. Java中字符串的连接是用“+”来实现的,此操作的过程是通过StringBuilder或StringBuffer类及它们的append方法实现。

  c. 将字符串转换成日期

1 String str = "Fri 17,2013";
2 Date date = new SimpleDateFormat("MMM d,yy", Locale.ENGLISH).parse(str);
3 System.out.println(date);

 

 

      

    

以上是关于Java-String类常用方法汇总的主要内容,如果未能解决你的问题,请参考以下文章

Java-String类学习笔记

Java-String常用类实验

Java-String字符串相关常用方法

java-String类

Java-String 类·下

idea常用快捷汇总