Java常用API 之 java.lang.String类(附解析和示例)_04

String 类代表字符串,Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现。

字符串是常量;它们的值在创建之后不能更改。因为 String 对象是不可变的,所以可以放心的共享。

public final class String//源码
    implements java.io.Serializable, Comparable<String>, CharSequence

从Java.lang.String类的定义可知,String类实现了java.io.Serializable(可序列化)接口、Comparable<String>(可排序)接口,CharSequence(可读字符序列)接口。


---------------------------------------------------ASCII码-----------------------------------------

在对字符进行处理时,熟悉ASCII码非常有用(主要是数字和字母部分)



-------------------------------------------------------常用对象方法---------------------------------------------------

常用对象方法
char charAt(int index) 

返回指定索引处的 char 值。

例:“你好啊”.charAt( 0 ) = 你

注:代码中如果出现中文,需将文件编码设置为ANSI编码

(如在notepad++里的设置是:菜单栏 --> 编码 --> 转为ANSI编码)

int codePointAt(int index) 

返回指定索引处的字符(Unicode 代码点)。

例:“你好啊”.codePointAt( 0 ) = 20320

例:“程序设计”.codePointAt( 0 ) = 31243

int compareTo(String anotherString) 

 按字典顺序比较两个字符串。

例:“你好啊”.compareTo( “程序设计” ) = -10923

-10923 = 20320 - 31243

int compareToIgnoreCase(String str)

按字典顺序比较两个字符串,不考虑大小写。

例:"Baa".compareToIgnoreCase( "aaa") = 1

String concat(String str) 

将指定字符串连接到此字符串的结尾。

例:“Baa”.concat( “aaa” ) = “ Baaaaa ”;

boolean contains(CharSequence s) 

当且仅当此字符串包含指定的 char 值序列时,返回 true。

例:“Baa”.contains( "aa" ) = true;

boolean endsWith(String suffix) 

测试此字符串是否以指定的后缀结束。

例:"Baa".endsWith( "aa" ) = true;

 boolean startsWith(String prefix) 

 测试此字符串是否以指定的前缀开始。

例:“Baa”.startsWith( "aa" ) = false;

int hashCode() 

返回此字符串的哈希码。

公式: s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1]

int indexOf(String str) 

返回指定字符串在此字符串中第一次出现处的索引,如果未出现该字符,则返回 -1。

例:“Coder666”.indexOf("Coder") = 0;

int indexOf(String str, int fromIndex)

返回指定字符串在此字符串指定索引之后第一次出现处的索引,如果未出现该字符,则返回 -1。

例:“Coder666_Coder666”.indexOf("Coder", 3) = 9;

int indexOf(char ch)  返回指定字符串在此字符串中第一次出现处的索引,如果未出现该字符,则返回 -1。
int indexOf(char ch, int fromIndex) 返回指定字符串在此字符串指定索引之后第一次出现处的索引,如果未出现该字符,则返回 -1
int lastIndexOf(int ch) / (String str) 返回指定字符(串)在此字符串中最后一次出现处的索引。
int lastIndexOf(int ch, int fromIndex)  返回指定字符在此字符串指定索引之前最后一次出现处的索引。
int length() 

返回此字符串的长度。

例:“Coder666”.length() = 8

String    replace(char oldChar, char newChar) 

返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。

例:“Coder888”.replace( '8' , '6') = "Coder666";

String replace(CharSequence target, CharSequence replacement) 

返回一个新的字符串,它是通过用 新字符子串replacement 替换此字符串中出现的所有 就字符子串 target 得到的。

例:"Coder888_Coder888".replace("888","666")

String[] split(String regex) 

根据给定正则表达式的匹配拆分此字符串。

例:"Coder888_Coder888".split( "_" ) = { "Coder888" , "Coder666" };

 String substring(int beginIndex, int endIndex) 

返回一个新字符串,它是此字符串的一个子字符串。

例:" Coder666_Java".substring( 5 , 8) = "666"

 char[] toCharArray() 

将此字符串转换为一个新的字符数组。

例:“Coder666”.toCharArray( ) = { ' C ' , ' o ' , ' d ' , ' e ' , ' r ' , ' 6 ' , ' 6 ' , ' 6 '}

String toLowerCase() 

将此 String 中的所有字符都转换为小写。

例:“Coder666”.toLowerCase() = "coder666"

 String toUpperCase() 

使用默认语言环境的规则将此 String 中的所有字符都转换为大写。

例:“Coder666”.toUpperCase() = "CODER666"

String trim() 

返回字符串的副本,忽略前导空白和尾部空白。

例:“    Coder666    ”.trim() = "CODER666"

 boolean matches(String regex)  告知此字符串是否匹配给定的正则表达式。
   


猜你喜欢

转载自blog.csdn.net/coder__666/article/details/80209641