本文目錄一覽:
- 1、Java數組中string的用法
- 2、Java的String用法
- 3、java中的string用法
- 4、java中string類的方法有哪些?
- 5、java中string怎麼使用
- 6、java 字元 string的 詳細用法
Java數組中string的用法
String a[ ]={“1″,”2″,”3″,”4”,null};
String b[ ]={“1″,”2″,”3″,”4”,’c’};
A是正確的。
null表示空指針,所以你可以理解它是沒有類型的,但也可以是任意類型的(任何指針都可以置null)。
而B中,當然不可以將一個字元類型(基本類型)賦值給一個字元串類型(類類型)。
Java的String用法
java中String類型的字面量(即「java」這個字元串)是存放在內存中的靜態存儲區,當程序執行到String a = “java”;該區域里就會生成一個字元串字面量「java」,執行String b = “java”;時,java對字元串的創建過程進行了優化,會先去該區域里尋找字面量為「java」的字元串,如果找到了,就把該字元串的引用指向到b,如果找不到就創建新的字元串「java」,所以a和b共用一個。加號(+)是字元串的一個連接方法,可以理解為String類的concat方法,String c = x +y;和String c = x.concat(y);效果是一樣的,變數c接受的是concat方法的返回值,是內存中「ja」和「va」連接後的對象,與前面的過程不是一碼事!如果還不理解,可以再問我!
java中的string用法
java中的string用法,可以到java api查找方法的使用方式:
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; xarr.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; xchs.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));當訪問到字元串中不存在的角標時會發生StringIndexOutOfBoundsException(字元串角標越界異常)
//根據字元獲取索引
//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);
}
}
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 copyValueOf(char[] data)
返回指定數組中表示該字元序列的字元串。
static String copyValueOf(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
java中string怎麼使用
當執行string
a=”abc”;時,java虛擬機會在棧中創建三個char型的值’a’、’b’和’c’,然後在堆中創建一個string對象,它的值(value)是剛才在棧中創建的三個char型值組成的數組{‘a’,’b’,’c’},最後這個新創建的string對象會被添加到字元串池中。如果我們接著執行string
b=new
string(”abc”);代碼,由於”abc”已經被創建並保存於字元串池中,因此java虛擬機只會在堆中新創建一個string對象,但是它的值(value)是共享前一行代碼執行時在棧中創建的三個char型值值’a’、’b’和’c’.
string
a=”abc”;
創建了一個對象
這個對象是在字元串池裡吧
而不是堆里
所以只創建了一個對象
而string
b=new
string(”abc”);在字元串常量池以及
堆里都有對象所以是兩個對象
string
a=”abc”;
在常量池中
new
string(”abc”);
在堆中
string
str1
=
“abc”;引用的對象在棧(或者叫string池)中。
string
str1
=new
string
(”abc”);
引用的對象在內存/堆中。
java 字元 string的 詳細用法
我也是菜鳥,盡量把答案表達清楚,不足之處請賜教
string1=”aaa”;
string2=”aaa”;
String
string3
=
new
String(“aaa”);
String
string4
=
new
String(“aaa”);
而在這四條語句中,
string1==string2;//成立
string1.equals(string2);//返回true
而
string3==string4;//false
string3.equals(string4);//返回true
弄明白這四個結果,這個問題就解決了
首先string1=”aaa”;和string2=”aaa”;
都指向常量池的同一個對象aaa;
其調用==和X.
equals(Y)方法其效果是一樣的
而String
string3
=
new
String(“aaa”);和
String
string4
=
new
String(“aaa”);是在heap堆中創建兩個新對象,他們引用的地址是不同的,從而使得==出現不相等的情況,而X.
equals(Y)當x和Y所引用的對象是同一類對象且屬性內容相等(並不一定是相同對象)時返回true,就出現了上面的結果。
原創文章,作者:SUJTN,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/330590.html