1. java中字元、字元串的常用方法
char的所有方法:
static int charCount(int codePoint)
確定表示指定字元(Unicode 代碼點)所需的 char 值的數量。
char charValue()
返回此 Character 對象的值。
static int codePointAt(char[] a, int index)
返回 char 數組的給定索引上的代碼點。
static int codePointAt(char[] a, int index, int limit)
返回 char 數組的給定索引上的代碼點,該數組中只有那些具有小於 limit 的 index 值的數組元素可以使用。
static int codePointAt(CharSequence seq, int index)
返回 CharSequence 的給定索引上的代碼點。
static int codePointBefore(char[] a, int index)
返回 char 數組的給定索引前面的代碼點。
static int codePointBefore(char[] a, int index, int start)
返回 char 數組的給定索引前面的代碼點,該數組中只有那些具有大於等於 start 的 index 值的數組元素可以使用。
static int codePointBefore(CharSequence seq, int index)
返回 CharSequence 的給定索引前面的代碼點。
static int codePointCount(char[] a, int offset, int count)
返回 char 數組參數的子數組中 Unicode 代碼點的數量。
static int codePointCount(CharSequence seq, int beginIndex, int endIndex)
返回指定字元序列的文本范圍內的 Unicode 代碼點數量。
int compareTo(Character anotherCharacter)
根據數字比較兩個 Character 對象。
static int digit(char ch, int radix)
返回使用指定基數的字元 ch 的數值。
static int digit(int codePoint, int radix)
返回使用指定基數的指定字元(Unicode 代碼點)的數值。
boolean equals(Object obj)
將此對象與指定對象比較。
static char forDigit(int digit, int radix)
確定使用指定基數的特定數字的字元表示形式。
static byte getDirectionality(char ch)
返回給定字元的 Unicode 方向屬性。
static byte getDirectionality(int codePoint)
返回給定字元(Unicode 代碼點)的 Unicode 方向屬性。
static int getNumericValue(char ch)
返回指定的 Unicode 字元表示的 int 值。
static int getNumericValue(int codePoint)
返回指定字元(Unicode 代碼點)表示的 int 值。
static int getType(char ch)
返回一個指示字元的常規類別的值。
static int getType(int codePoint)
返回一個指示字元的常規類別的值。
int hashCode()
返回此 Character 的哈希碼。
static boolean isDefined(char ch)
確定字元是否被定義為 Unicode 中的字元。
static boolean isDefined(int codePoint)
確定字元(Unicode 代碼點)是否被定義為 Unicode 中的字元。
static boolean isDigit(char ch)
確定指定字元是否為數字。
static boolean isDigit(int codePoint)
確定指定字元(Unicode 代碼點)是否為數字。
static boolean isHighSurrogate(char ch)
確定給出的 char 值是否為一個高代理項代碼單元(也稱為前導代理項代碼單元)。
static boolean isIdentifierIgnorable(char ch)
確定是否應該認為指定字元是 Java 標識符或 Unicode 標識符中可忽略的一個字元。
static boolean isIdentifierIgnorable(int codePoint)
確定是否應該認為指定字元(Unicode 代碼點)是 Java 標識符或 Unicode 標識符中可忽略的一個字元。
static boolean isISOControl(char ch)
確定指定字元是否為 ISO 控制字元。
static boolean isISOControl(int codePoint)
確定引用的字元(Unicode 代碼點)是否為 ISO 控制字元。
static boolean isJavaIdentifierPart(char ch)
確定指定字元是否可以是 Java 標識符中首字元以外的部分。
static boolean isJavaIdentifierPart(int codePoint)
確定字元(Unicode 代碼點)是否可以是 Java 標識符中首字元以外的部分。
static boolean isJavaIdentifierStart(char ch)
確定是否允許將指定字元作為 Java 標識符中的首字元。
static boolean isJavaIdentifierStart(int codePoint)
確定是否允許將字元(Unicode 代碼點)作為 Java 標識符中的首字元。
static boolean isJavaLetter(char ch)
已過時。 由 isJavaIdentifierStart(char) 取代。
static boolean isJavaLetterOrDigit(char ch)
已過時。 由 isJavaIdentifierPart(char) 取代。
static boolean isLetter(char ch)
確定指定字元是否為字母。
static boolean isLetter(int codePoint)
確定指定字元(Unicode 代碼點)是否為字母。
static boolean isLetterOrDigit(char ch)
確定指定字元是否為字母或數字。
static boolean isLetterOrDigit(int codePoint)
確定指定字元(Unicode 代碼點)是否為字母或數字。
static boolean isLowerCase(char ch)
確定指定字元是否為小寫字母。
static boolean isLowerCase(int codePoint)
確定指定字元(Unicode 代碼點)是否為小寫字母。
static boolean isLowSurrogate(char ch)
確定給定 char 值是否一個低代理項代碼單元(也稱為尾部代理項代碼單元)。
static boolean isMirrored(char ch)
確定指定字元依據 Unicode 規范是否對稱。
static boolean isMirrored(int codePoint)
確定指定字元(Unicode 代碼點)依據 Unicode 規范是否對稱。
static boolean isSpace(char ch)
已過時。 由 isWhitespace(char) 取代。
static boolean isSpaceChar(char ch)
確定指定字元是否為 Unicode 空白字元。
static boolean isSpaceChar(int codePoint)
確定指定字元(Unicode 代碼點)是否為 Unicode 空白字元。
static boolean isSupplementaryCodePoint(int codePoint)
確定指定字元(Unicode 代碼點)是否在增補字元范圍內。
static boolean isSurrogatePair(char high, char low)
確定指定的 char 值對是否為有效的代理項對。
static boolean isTitleCase(char ch)
確定指定字元是否為首字母大寫字元。
static boolean isTitleCase(int codePoint)
確定指定字元(Unicode 代碼點)是否為首字母大寫字元。
static boolean isUnicodeIdentifierPart(char ch)
確定指定字元是否可以是 Unicode 標識符中首字元以外的部分。
static boolean isUnicodeIdentifierPart(int codePoint)
確定指定字元(Unicode 代碼點)是否可以是 Unicode 標識符中首字元以外的部分。
static boolean isUnicodeIdentifierStart(char ch)
確定是否允許將指定字元作為 Unicode 標識符中的首字元。
static boolean isUnicodeIdentifierStart(int codePoint)
確定是否允許將指定字元(Unicode 代碼點)作為 Unicode 標識符中的首字元。
static boolean isUpperCase(char ch)
確定指定字元是否為大寫字母。
static boolean isUpperCase(int codePoint)
確定指定字元(Unicode 代碼點)是否為大寫字母。
static boolean isValidCodePoint(int codePoint)
確定指定的代碼點是否為從 0x0000 到 0x10FFFF 范圍之內的有效 Unicode 代碼點值。
static boolean isWhitespace(char ch)
確定指定字元依據 Java 標準是否為空白字元。
static boolean isWhitespace(int codePoint)
確定指定字元(Unicode 代碼點)依據 Java 標準是否為空白字元。
static int offsetByCodePoints(char[] a, int start, int count, int index, int codePointOffset)
返回給定 char 子數組中的索引,它是從給定 index 到 codePointOffset 代碼點的偏移量。
static int offsetByCodePoints(CharSequence seq, int index, int codePointOffset)
返回給定字元序列中的索引,它是從給定 index 到 codePointOffset 代碼點的偏移量。
static char reverseBytes(char ch)
返回通過反轉指定 char 值中的位元組順序而獲得的值。
static char[] toChars(int codePoint)
將指定的字元(Unicode 代碼點)轉換成其存儲在 char 數組中的 UTF-16 表示形式。
static int toChars(int codePoint, char[] dst, int dstIndex)
將指定字元(Unicode 代碼點)轉換為其 UTF-16 表示形式。
static int toCodePoint(char high, char low)
將指定的代理項對轉換為其增補代碼點值。
static char toLowerCase(char ch)
使用取自 UnicodeData 文件的大小寫映射信息將字元參數轉換為小寫。
static int toLowerCase(int codePoint)
使用取自 UnicodeData 文件的大小寫映射信息將字元(Unicode 代碼點)參數轉換為小寫。
String toString()
返回表示此 Character 值的 String 對象。
static String toString(char c)
返回一個表示指定 char 值的 String 對象。
static char toTitleCase(char ch)
使用取自 UnicodeData 文件的大小寫映射信息將字元參數轉換為首字母大寫。
static int toTitleCase(int codePoint)
使用取自 UnicodeData 文件的大小寫映射信息將字元(Unicode 代碼點)參數轉換為首字母大寫。
static char toUpperCase(char ch)
使用取自 UnicodeData 文件的大小寫映射信息將字元參數轉換為大寫。
static int toUpperCase(int codePoint)
使用取自 UnicodeData 文件的大小寫映射信息將字元(Unicode 代碼點)參數轉換為大寫。
static Character valueOf(char c)
返回一個表示指定 char 值的 Character 實例
string所有方法:
char charAt(int index)
返回指定索引處的 char 值。
int codePointAt(int index)
返回指定索引處的字元(Unicode 代碼點)。
int codePointBefore(int index)
返回指定索引之前的字元(Unicode 代碼點)。
int codePointCount(int beginIndex, int endIndex)
返回此 String 的指定文本范圍中的 Unicode 代碼點數。
int compareTo(String anotherString)
按字典順序比較兩個字元串。
int compareToIgnoreCase(String str)
按字典順序比較兩個字元串,不考慮大小寫。
String concat(String str)
將指定字元串連接到此字元串的結尾。
boolean contains(CharSequence s)
當且僅當此字元串包含指定的 char 值序列時,返回 true。
boolean contentEquals(CharSequence cs)
將此字元串與指定的 CharSequence 比較。
boolean contentEquals(StringBuffer sb)
將此字元串與指定的 StringBuffer 比較。
static String ValueOf(char[] data)
返回指定數組中表示該字元序列的 String。
static String ValueOf(char[] data, int offset, int count)
返回指定數組中表示該字元序列的 String。
boolean endsWith(String suffix)
測試此字元串是否以指定的後綴結束。
boolean equals(Object anObject)
將此字元串與指定的對象比較。
boolean equalsIgnoreCase(String anotherString)
將此 String 與另一個 String 比較,不考慮大小寫。
static String format(Locale l, String format, Object... args)
使用指定的語言環境、格式字元串和參數返回一個格式化字元串。
static String format(String format, Object... args)
使用指定的格式字元串和參數返回一個格式化字元串。
byte[] getBytes()
使用平台的默認字元集將此 String 編碼為 byte 序列,並將結果存儲到一個新的 byte 數組中。
byte[] getBytes(Charset charset)
使用給定的 charset 將此 String 編碼到 byte 序列,並將結果存儲到新的 byte 數組。
void getBytes(int srcBegin, int srcEnd, byte[] dst, int dstBegin)
已過時。 該方法無法將字元正確轉換為位元組。從 JDK 1.1 起,完成該轉換的首選方法是通過 getBytes() 方法,該方法使用平台的默認字元集。
byte[] getBytes(String charsetName)
使用指定的字元集將此 String 編碼為 byte 序列,並將結果存儲到一個新的 byte 數組中。
void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
將字元從此字元串復制到目標字元數組。
int hashCode()
返回此字元串的哈希碼。
int indexOf(int ch)
返回指定字元在此字元串中第一次出現處的索引。
int indexOf(int ch, int fromIndex)
返回在此字元串中第一次出現指定字元處的索引,從指定的索引開始搜索。
int indexOf(String str)
返回指定子字元串在此字元串中第一次出現處的索引。
int indexOf(String str, int fromIndex)
返回指定子字元串在此字元串中第一次出現處的索引,從指定的索引開始。
String intern()
返回字元串對象的規范化表示形式。
boolean isEmpty()
當且僅當 length() 為 0 時返回 true。
int lastIndexOf(int ch)
返回指定字元在此字元串中最後一次出現處的索引。
int lastIndexOf(int ch, int fromIndex)
返回指定字元在此字元串中最後一次出現處的索引,從指定的索引處開始進行反向搜索。
int lastIndexOf(String str)
返回指定子字元串在此字元串中最右邊出現處的索引。
int lastIndexOf(String str, int fromIndex)
返回指定子字元串在此字元串中最後一次出現處的索引,從指定的索引開始反向搜索。
int length()
返回此字元串的長度。
boolean matches(String regex)
告知此字元串是否匹配給定的正則表達式。
int offsetByCodePoints(int index, int codePointOffset)
返回此 String 中從給定的 index 處偏移 codePointOffset 個代碼點的索引。
boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len)
測試兩個字元串區域是否相等。
boolean regionMatches(int toffset, String other, int ooffset, int len)
測試兩個字元串區域是否相等。
String replace(char oldChar, char newChar)
返回一個新的字元串,它是通過用 newChar 替換此字元串中出現的所有 oldChar 得到的。
String replace(CharSequence target, CharSequence replacement)
使用指定的字面值替換序列替換此字元串所有匹配字面值目標序列的子字元串。
String replaceAll(String regex, String replacement)
使用給定的 replacement 替換此字元串所有匹配給定的正則表達式的子字元串。
String replaceFirst(String regex, String replacement)
使用給定的 replacement 替換此字元串匹配給定的正則表達式的第一個子字元串。
String[] split(String regex)
根據給定正則表達式的匹配拆分此字元串。
String[] split(String regex, int limit)
根據匹配給定的正則表達式來拆分此字元串。
boolean startsWith(String prefix)
測試此字元串是否以指定的前綴開始。
boolean startsWith(String prefix, int toffset)
測試此字元串從指定索引開始的子字元串是否以指定前綴開始。
CharSequence subSequence(int beginIndex, int endIndex)
返回一個新的字元序列,它是此序列的一個子序列。
String substring(int beginIndex)
返回一個新的字元串,它是此字元串的一個子字元串。
String substring(int beginIndex, int endIndex)
返回一個新字元串,它是此字元串的一個子字元串。
char[] toCharArray()
將此字元串轉換為一個新的字元數組。
String toLowerCase()
使用默認語言環境的規則將此 String 中的所有字元都轉換為小寫。
String toLowerCase(Locale locale)
使用給定 Locale 的規則將此 String 中的所有字元都轉換為小寫。
String toString()
返回此對象本身(它已經是一個字元串!)。
String toUpperCase()
使用默認語言環境的規則將此 String 中的所有字元都轉換為大寫。
String toUpperCase(Locale locale)
使用給定 Locale 的規則將此 String 中的所有字元都轉換為大寫。
String trim()
返回字元串的副本,忽略前導空白和尾部空白。
static String valueOf(boolean b)
返回 boolean 參數的字元串表示形式。
static String valueOf(char c)
返回 char 參數的字元串表示形式。
static String valueOf(char[] data)
返回 char 數組參數的字元串表示形式。
static String valueOf(char[] data, int offset, int count)
返回 char 數組參數的特定子數組的字元串表示形式。
static String valueOf(double d)
返回 double 參數的字元串表示形式。
static String valueOf(float f)
返回 float 參數的字元串表示形式。
static String valueOf(int i)
返回 int 參數的字元串表示形式。
static String valueOf(long l)
返回 long 參數的字元串表示形式。
static String valueOf(Object obj)
返回 Object 參數的字元串表示形式
2. java中string怎麼使用
以下是關於string的七種用法,注意哦,記得要時常去查看java的API文檔,那個裡面也有很詳細的介紹
1>獲取
1.1:字元串中包含的字元數,也就是字元串的長度。
int length():獲取長度
1.2:根據位置獲取位置上某個字元。
char charAt(int index)
1.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在字元串中出現的位置。
1.4:int lastIndexOf(String str):反向索引。
2>判斷
2.1:字元串中是否包含某一個子串。
boolean contains(str);
特殊之處:indexOf(str):可以索引str第一次出現為止,如果返回-1,表示該str不在字元串中存在。
所以,也可以用於對指定判斷是否包含。
if(str.indexOf("a")!=1)
而且該方法既可以判斷,也可以獲取出現的位置。
2.2:字元串中是否有內容。
boolean isEmpty():原理就是判斷長度是否為0。
2.3:字元串是否以指定內容開頭。
boolean startsWith(str);
2.4:字元串是否以指定內容結尾。
boolean endsWith(str);
2.5:判斷字元內容是否相同,復寫了object類中的equals方法。
boolean equals(str);
2.6:判斷內容是否相同,並忽略大小寫。
boolean.equalsIgnorecase();
3>轉換
3.1:將字元數組轉成字元串。
構造函數:String(char[])
String(char[],offset,count):將字元數組中的一部分轉成字元串
靜態方法:
static String ValueOf(char[]);
static String ValueOf(char[] data,int offset,int count);
static String valueOf(char[]);
3.2:將字元串轉成字元組
char[] tocharArray();
3.3:將位元組數組轉成字元串。
String(byte[])
String(byte[],offset,count):將位元組數組中的一部分轉成字元串
3.4:將字元串轉成位元組數組。
byte[] getBytes()
3.5:將基本數據類型轉成字元串,
static String valueOf(int)
static String valueOf(double)
// 3+"" 與 String.valueOf(3)的值是一樣的
特殊:字元串和位元組數組在轉換過程中,是可以指定編碼的。
4>替換
String replace(oldchar,newchar);
5>切割
String[] split(regex);
6>子串。獲取字元串中的而一部分
String subString(begin);
String subString(begin,end);
7>轉換,去除空格,比較。
7.1:將字元串轉成大寫或小寫
String toUpperCsae() 大轉小
String toLowerCsae() 小轉大
7.2:將字元串兩端的多個空格去除
String trim();
7.3:對兩個字元串進行自然順序的比較
int compareTo(string);
請看如下代碼,下面的代碼都是針對上面string七種用法而進行一一舉例說明:
復制代碼 代碼如下:
class StringMethodDemo
{
public static void method_Zhuanhuan_Qukong_Bijiao()
{
String s = " hello Java ";
//列印結果是:(hello和java前後門都有空格)hello java
sop(s.toUpperCase());
//列印結果是:(HELLO和JAVA前後門都有空格)HELLO JAVA
sop(s.toLowerCase());
//列印及結果是:不帶空格的「hello java」
sop(s.trim());
//比較數的大寫,列印結果是:1,因為b對應ascii值是98,
//a對應是97,所以b-a=1
String s1 = "abc";
String s2 = "aaa";
sop(s1.compareTo(s2));
}
public static void method_sub()
{
String s = "abcdef";
//列印結果是:cdef,從指定位置開始到結尾。如果角標不存在,會出現字元串角標越界。
sop(s.substring(2));
//列印結果是:cd,包含頭,不包含尾。
sop(s.substring(2,4));
}
public static void method_split()
{
String s = "zhangsan,lisi,wangwu";
String[] arr = s.split(",");
for(int x=0; x<arr.length; x++)
{
sop(arr[x]);
}
}
public static void method_replace()
{
String s = "hello java";
//String s1 = s.replace('a','n');
//String s1 = s.replace('w','n'); 如果要替換的字元不存在,返回的還是原串
String s1 = s.replace("java","world");//列印結果是:hello world
sop("s="+s); //列印結果是:hello java因為字元串一旦被初始化,值就不可被改變
sop("s1="+s1);//列印結果是:hello jnvn
}
public static void method_trans()
{
char[] arr = {'a','b','c','d','e','f'};
String s = new String(arr,1,3);
sop("s="+s);//列印結果是:bcd
String s1 = "zxcvbnm";
char[] chs = s1.toCharArray();
for(int x=0; x<chs.length; x++)
{
sop("ch="+chs[x]);//列印結果是:ch=z,x,c,v,b,n,m
}
}
public static void method_is()
{
String str = "ArrayDemo.java";
//判斷文件名稱是否是Array單詞開頭
sop(str.startsWith("Array"));
//判斷文件名稱是否是.java的文件
sop(str.endsWith(".java"));
//判斷文件中是否包含Demo
sop(str.contains("Demo"));
}
public static void method_get()
{
String str = "abcdeakpf";
//長度
sop(str.length());
//根據索引獲取字元
sop(str.charAt(4));
//sop(str.charAt(40));當訪問到字元串中不存在的角標時會發生(字元串角標越界異常)
//根據字元獲取索引
//sop(str.indexOf('a'));
sop(str.indexOf('a',3));//列印的是5,因為角標3是d,
//所以從d後面開始找a,第5個角標是a
//sop(str.indexOf('t',3))列印:-1,如果沒有找到角標,返回-1
//反向索引一個字元出現的位置(從右往左查找,但是角標還是從左開始)
sop(str.lastIndexOf("a"));
}
public static void main(String[] args)
{
method_Zhuanhuan_Qukong_Bijiao();
//method_sub();
//method_split();
//method_replace();
//method_trans();
//method_is();
//method_get();
/*
String s1 = "abc";
String s2 = new String("abc");
String s3 = "abc";
System.out.println(s1==s2);
System.out.println(s1==s3);
*/
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}