java字元串的方法
A. java中字元串有哪些方法
API找
http://tool.oschina.net/apidocs/apidoc?api=jdk-zh
java.lang.String
B. java 中String的equals()方法
java.lang.String.equals() 方法比較字元串與指定的對象。其結果是true當且僅當參數不為null,並且是一個String對象,這個對象表示相同的字元序列
聲明
以下是聲明java.lang.String.equals()方法
public boolean equals(Object anObject)
參數
anObject -- 這是這個String對比較的對象
返回值
此方法返回true如果給定對象代表一個字元串,這個字元串,否則返回false
異常
NA
實例
下面的例子顯示使用的java.lang.String.equals()方法
package com.pieryon;
import java.lang.*;
public class StringDemo {
public static void main(String[] args) {
String str1 = "sachin tenlkar";
String str2 = "amrood admin";
String str3 = "amrood admin";
// checking for equality
boolean retval1 = str2.equals(str1);
boolean retval2 = str2.equals(str3);
// prints the return value
System.out.println("str2 is equal to str1 = " + retval1);
System.out.println("str2 is equal to str3 = " + retval2);
}
}
編譯和運行上面的程序,這將產生以下結果:
str2 is equal to str1 = false
str2 is equal to str3 = true
C. java中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)
當且僅當此 String 表示與指定序列相同的 char 值時,才返回 true。
boolean contentEquals(StringBuffer sb)
當且僅當此 String 表示與指定的 StringBuffer 相同的字元序列時,才返回 true。
static String ValueOf(char[] data)
返回指定數組中表示該字元序列的字元串。
static String ValueOf(char[] data, int offset, int count)
返回指定數組中表示該字元序列的字元串。
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 解碼為位元組序列,並將結果存儲到一個新的位元組數組中。
void getBytes(int srcBegin, int srcEnd, byte[] dst, int dstBegin)
已過時。 該方法無法將字元正確轉換為位元組。從 JDK 1.1 起,完成該轉換的首選方法是通過 getBytes() 構造方法,該方法使用平台的默認字元集。
byte[] getBytes(String charsetName)
使用指定的字元集將此 String 解碼為位元組序列,並將結果存儲到一個新的位元組數組中。
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()
返回字元串對象的規范化表示形式。
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 參數的字元串表示形式。
從類 java.lang.Object 繼承的方法
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
D. java中怎麼執行字元串中的代碼
轉:
在javascript中eval()可以實現字元串轉代碼,java中需要使用動態編譯。
把獲得的字元串寫入一個臨時文件中,然後編譯它,在調用其中的函數。
我們把要轉換的字元串構造一個完整的類:如果方法是有返回值的.則:
public object eval(string str){
//生成java文件
string s = "class temp{";
s += "object rt(){"
s += "myclass mc = new myclass();"
s += " return mc."+str+"();";
s += "}"
s +="}";
file f = new file("temp.java");
printwriter pw = new printwriter(new filewriter(f));
pw.println(s);
pw.close();
//動態編譯
com.sun.tools.javac.main javac = new com.sun.tools.javac.main();
string[] cpargs = new string[] {"-d", "所在目錄","temp.java"};
int status = javac.compile(cpargs);
if(status!=0){
system.out.println("沒有成功編譯源文件!");
return null;
}
//調用temp的rt方法返回結果:
myclassloader mc = new myclassloader();
class clasz = mc.loadclass("test.class",true);
method rt = clasz.getmethod("rt", new class[]{ string[].class });
return rt.invoke(null, new object[] { new string[0] });
//如果方法沒有返回就直接調用
}
我們可以先寫好多個重載的eval,有返回值和沒有返回值的.以及可以傳遞參數的.
這樣我們就可以用字元串轉換為java的語句來執行.
E. java中字元、字元串的常用方法
轉換大小寫、"aaaa".toUpperCase(),"aaaa".toLowerCase();
去除前後的空格、"aaaa".trim();
判斷是否用那個字元串開始(結束)、"aaaa".startWith("a"),"aaaa".endWith("a");
獲取長度、"aaaa".length();
備注專:方法太多了,屬建議可以通過自己實際操作的形式熟悉下。
F. java中的string方法
從一個byte數組里,從第offset位置開始取,取length長度,按照規定的Charset字元編碼集來獲取byte里的數回據簡單示例:public
static
void
main(String[]
args)
{
byte[]
a
=
{'a','b','c','d','e','f','g','h','i'};
String
aa
=
new
String(a,5,3,Charset.defaultCharset());
String
bb
=
new
String(a,5,3,Charset.forName("US-ASCII"));
System.out.println(aa);
System.out.println(bb);
}當然,答如果byte數組內存放的用中文字元或者其他字元,測試起來更有意義~
G. java中的字元串比較方法
java中的字元串比較方法:
1)string1.equals(string2)
2) str1==str2 。
java中字元串的比較是==比較引用,equals 比較值的做法。但是不同的聲明方法字元串的比較結果也是不同的。
例如: String str1=new String("a");
String str2=new String("a");
str1==str2 輸出false
str1.equals(str2) 輸出true
而如果這樣聲明
String str1="a";
String str2="a";
str1==str2 輸出true
str1.equals(str2) 輸出true
這是因為 equals 方法本來也是比較引用的字元串類在實現的時候重寫了該方法。
第一種聲明方法等於是聲明了兩個對象,用』==『比較是時候比較的是引用輸出的是false 由於他們的值相同用equals的時候就比較的是值了,輸出true。
第二種情況不是因為比較有與第一種有差異,而是因為聲明有差異,第二種聲明方法在聲明的時候有堆或堆棧 共用的現象,也就是說 在聲明的時候如果如果聲明為類屬性他會檢查在堆棧中有沒有與現在聲明的是相同結構的字元串。如果有就直接將地址指向已有內存地址。聲明在方法內部的局部變數原理一樣只不過他是堆棧共享。
H. java字元串
12.4.4 String 和 StringBuffer 類
這里總結一下同時適用於 String 和 StringBuffer 的方法,以便對它們相互間
的溝通方式有一個印象。這些表格並未把每個單獨的方法都包括進去,而是包含
了與本次討論有重要關系的方法。那些已被覆蓋的方法用單獨一行總結。
首先總結 String 類的各種方法:
方法 自變數,覆蓋 用途
構建器 已被覆蓋:默認,String,StringBuffer,char 數組,byte 數組 創建
String 對象
length() 無 String 中的字元數量
charAt() int Index 位於 String 內某個位置的 char
getChars(),getBytes 開始復制的起點和終點,要向其中復制內容的數組,對
目標數組的一個索引 將 char 或 byte 復制到外部數組內部
toCharArray() 無 產生一個 char[],其中包含了 String 內部的字元
equals(),equalsIgnoreCase() 用於對比的一個 String 對兩個字串的內容進行
等價性檢查
compareTo() 用於對比的一個 String 結果為負、零或正,具體取決於 String
和自變數的字典順序。注意大寫和小寫不是相等的!
regionMatches() 這個 String 以及其他 String 的位置偏移,以及要比較的區域
長度。覆蓋加入了「忽略大小寫」的特性 一個布爾結果,指出要對比的區域是
否相同
startsWith() 可能以它開頭的 String。覆蓋在自變數里加入了偏移 一個布爾
結果,指出 String 是否以那個自變數開頭
endsWith() 可能是這個 String 後綴的一個 String 一個布爾結果,指出自變數
是不是一個後綴
indexOf(),lastIndexOf() 已覆蓋:char,char 和起始索引,String,String 和起
始索引 若自變數未在這個 String 里找到,則返回-1;否則返回自變數開始處的
位置索引。lastIndexOf()可從終點開始回溯搜索
substring() 已覆蓋:起始索引,起始索引和結束索引 返回一個新的 String
對象,其中包含了指定的字元子集
concat() 想連結的 String 返回一個新 String 對象,其中包含了原始 String 的
字元,並在後面加上由自變數提供的字元
relpace() 要查找的老字元,要用它替換的新字元 返回一個新 String 對象,
其中已完成了替換工作。若沒有找到相符的搜索項,就沿用老字串
toLowerCase(),toUpperCase() 無 返回一個新 String 對象,其中所有字元的大
小寫形式都進行了統一。若不必修改,則沿用老字串
trim() 無 返回一個新的 String 對象,頭尾空白均已刪除。若毋需改動,則沿
用老字串
valueOf() 已覆蓋:object,char[],char[]和偏移以及計數,boolean,char,int,
long,float,double 返回一個 String,其中包含自變數的一個字元表現形式
Intern() 無 為每個獨一無二的字元順序都產生一個(而且只有一個)String
句柄
可以看到,一旦有必要改變原來的內容,每個 String 方法都小心地返回了一
個新的 String 對象。另外要注意的一個問題是,若內容不需要改變,則方法只返
回指向原來那個 String 的一個句柄。這樣做可以節省存儲空間和系統開銷。
下面列出有關 StringBuffer(字串緩沖)類的方法:
方法 自變數,覆蓋 用途
構建器 已覆蓋:默認,要創建的緩沖區長度,要根據它創建的 String 新建
一個 StringBuffer 對象
toString() 無 根據這個 StringBuffer 創建一個 String
length() 無 StringBuffer 中的字元數量
capacity() 無 返回目前分配的空間大小
ensureCapacity() 用於表示希望容量的一個整數 使 StringBuffer 容納至少希
望的空間大小
setLength() 用於指示緩沖區內字串新長度的一個整數 縮短或擴充前一個字
符串。如果是擴充,則用 null 值填充空隙
charAt() 表示目標元素所在位置的一個整數 返回位於緩沖區指定位置處的
char
setCharAt() 代表目標元素位置的一個整數以及元素的一個新 char 值 修改指
定位置處的值
getChars() 復制的起點和終點,要在其中復制的數組以及目標數組的一個索
引 將 char 復制到一個外部數組。和 String 不同,這里沒有 getBytes()可供使用
append() 已覆蓋:Object,String,char[],特定偏移和長度的 char[],boolean,
char,int,long,float,double 將自變數轉換成一個字串,並將其追加到當前緩
沖區的末尾。若有必要,同時增大緩沖區的長度
insert() 已覆蓋,第一個自變數代表開始插入的位置:Object,String,char[],
boolean,char,int,long,float,double 第二個自變數轉換成一個字串,並插入
當前緩沖區。插入位置在偏移區域的起點處。若有必要,同時會增大緩沖區的長
度
reverse() 無 反轉緩沖內的字元順序
最常用的一個方法是 append()。在計算包含了+和+=運算符的 String 表達式
時,編譯器便會用到這個方法。insert()方法採用類似的形式。這兩個方法都能對
緩沖區進行重要的操作,不需要另建新對象。
12.4.5 字串的特殊性
現在,大家已知道 String 類並非僅僅是 Java 提供的另一個類。String 里含有
大量特殊的類。通過編譯器和特殊的覆蓋或過載運算符+和+=,可將引號字元串
轉換成一個 String。在本章中,大家已見識了剩下的一種特殊情況:用同志
StringBuffer 精心構造的「不可變」能力,以及編譯器中出現的一些有趣現象。
I. java中怎麼把字元串轉化為方法
不明白你的意思,字元串是字元串,方法是方法。兩碼事