Java字符串类型String方法介绍

String类方法详细介绍

String类是Java中的引用数据类型,sun公司提供给了我们字符串操作的一些方法,以下是整理出的一些函数:
一、基本操作方法

方法 说明
charAt(int index) 获取索引值index处对应的字符
length() 获取String字符串的长度
codePointAt(int index) 获取字符串在索引index处的Unicode值
codePointBefore(int index) 获取字符串在索引index-1处的Unicode值
compareTo(String ss) 原字符串与ss字符串每一个字符差值的和(对应Unicode值)
indexOf(a) 字符a在字符串中的第一个位置
lastIndexOf(a) 字符a在字符串中的最后一个位置
concat(String s) 原字符串与字符串s的拼接
contains(String s) 原字符串是否包含字符串s
endsWith(String S) 判断是否以字符串S结尾
isEmpty() 判断是否为空
matches(String s) s是否是原字符串的正则表达式
		String s = "我abcdefghijklmn";
		String ss = "aabcdefghijkl105n";
		char ch = s.charAt(0); //我
		int ch1 = s.length(); //15
		int ch2 = s.codePointAt(0); //25105
		int ch3 = s.codePointAt(1); //97
		int ch4 = s.codePointBefore(1); //25105
		int ch5 = s.compareTo(ss); //25008
		int ch6 = ss.indexOf('a'); //0
		int ch7 = ss.lastIndexOf('a'); //1
		String ch8 = s.concat("opqrst"); //我abcdefghijklmnopqrst
		boolean ch9 = s.contains("我"); //true
		boolean ch10 = s.endsWith("mn"); //true
		boolean ch11 = s.isEmpty(); //false
		boolean ch12 = s.matches("a"); //false

二、较复杂的一些方法

  1. getChars(int srcBegin,int srcEnd,char[] dst,int dstBegin):
    字符串复制方法,四个参数分别是:原字符串需要复制的开始索引、结束索引-1、存储字符数组、字符存储的开始位置。

代码示例:

		String s = "我abcdefghijklmn";
		char arr[] = new char[100];
		s.getChars(0, s.length(), arr, 0); //我abcdefghijklmn
  1. 字符串比较

首先看一下第一种比较大小这类需求中的方法:

(1)不忽略字符串大小写情况下字符串的大小比较方法compareTo(another str)
格式:int result = str1.compareTo(str2);
输出三种比较结果:若该字符串的Unicode值<参数字符串的Unicode值,结果返回一负整数;若若该字符串的Unicode值=参数字符串的Unicode值,结果返回0;若该字符串的Unicode值>参数字符串的Unicode值,结果返回一正整数。

(2) 忽略字符串大小写情况下字符串的大小比较方法compareTOIgnoreCase(another str)
格式:int result = str1.compareToIgnoreCase(str2);
在忽略字符串大小写情况下,返回三种比较结果:输出三种比较结果:若该字符串的Unicode值<参数字符串的Unicode值,结果返回一负整数;若若该字符串的Unicode值=参数字符串的Unicode值,结果返回0;若该字符串的Unicode值>参数字符串的Unicode值,结果返回一正整数。

然后看一下第二种判别两种字符串是否相等(相等情况下必须保证二者长度相等)需求中的方法:

(1)不忽略字符串大小写情况下判别字符串相等的方法eaquals(another str)
格式:boolean result = str1.equals(str2);
当且仅当str1和str2的长度相等,且对应位置字符的Unicode编码完全相等,返回true,否则返回false

(2) 忽略字符串大小写情况下判别字符串相等的方法equalsIgnoreCase(another str)
格式:boolean result = str1.equals(str2);

示例代码:

		String s1 = "我abcdefghijklmn";
		String s2 = "我abcdefghijklmn";
		
		String s3 = "aabcdefghijkl105n";
		String s4 = "aabcdefghijkl105n";
		
		int result1 = s1.compareTo(s2);  //0
		int result2 = s1.compareTo(s3); //25008
		boolean result3 = s1.equals(s2); // true
		boolean result4 = s1.equals(s3); //false
  1. 字符串与其它类型的转换
public class StringConvert {
     
  public static void main(String args[]){
     
    /***将字符串类型转换为其他数据类型***/
    boolean bool = Boolean.getBoolean("false"); //字符串类型转换为布尔类型
    int integer = Integer.parseInt("20"); //字符串类型转换为整形
    long LongInt = Long.parseLong("1024"); //字符串类型转换为长整形
    float f = Float.parseFloat("1.521"); //字符串类型转换为单精度浮点型
    double d = Double.parseDouble("1.52123");//字符串类型转换为双精度浮点型
    byte bt = Byte.parseByte("200"); //字符串类型转换为byte型
    char ch = "棋哥".charAt(0);
    /***将其他数据类型转换为字符串类型方法1***/
    String strb1 = String.valueOf(bool); //将布尔类型转换为字符串类型
    String stri1 = String.valueOf(integer); //将整形转换为字符串类型
    String strl1 = String.valueOf(LongInt); //将长整型转换为字符串类型
    String strf1 = String.valueOf(f); //将单精度浮点型转换为字符串类型
    String strd1 = String.valueOf(d); //将double类型转换为字符串类型
    String strbt1 = String.valueOf(bt); //将byte转换为字符串类型
    String strch1 = String.valueOf(ch); //将字符型转换为字符串类型
  }
}
  1. 字符串的截取、替换、划分
方法 介绍
substring(int beginindex, int endindex) 截取出索引在beginindex 到 endindex-1 之间的字符串
split(String s) 以s为节点划分
toLowerCase() 将字符全部转化为小写
toUpperCase() 将字符全部转化为大写
replace(String old, String new) 字符串中的old字符串替换为new字符串

代码展示:

String s1 = "abcdededfgAAA";
		
		String s = s1.substring(0,s1.length()); //abcdededfgAAA
		
		String ss[] = s1.split("e");
		for(int i = 0; i < ss.length;i ++)
		{
     
			System.out.print(ss[i] + "\t"); //abcd	d	dfgAAA
		}
		
		String s2 = s1.replace("e", "E"); //abcdEdEdfgAAA
		System.out.println(s2);

参考文档:Java字符串String类操作方法详细整理

你可能感兴趣的:(Java学习笔记)