javastring訪問
❶ 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);
}
}
❷ Java的字元串都有什麼字元串可以轉換為任意數值嗎
Java字元串類包括String、StringBuffer、StringBuilder。字元串之間是可以更改數值的。比如使用Parseint(S)方法,該方法是靜態的,不會產生多餘的以int形式返回的對象,並且在底層查看源代碼時,如果輸入的字元串內容不是int類型,如果它是空的,並且輸入的內容超過int的極限,則會發現numberformatexception類型異常。
java字元串string的使用方法是什麼?
String類別是一個不可更改的字元串,所以說string類實際上可以被認為是只讀的一個字元串,但是即使如此,string類也提供了許多可用的方法,下面將詳細介紹這些方法。例如string()、string、string(byte[ ])、string(char[ ])等。上面列出的一些普通string類構造函數以及其他string類構造函數,例如從數組的初始位置開始。
❸ java中String[][] 是什麼東西string[]又是什麼東西
String[][]是二維數組。例如:String[][]str=newString[4][4],這是創建了一個有4行4列元素的數組。
String[]代表一維數組。例如:String[]str=newString[4],這個創建一個有4個元素的數組。
String[]代表格式為String數組;如str[1] str[2]等。String[][]代表多維數組了.[][],可以理解為幾行幾列。
String是編程語言中的字元串,String類是不可變的,對String類的任何改變,都是返回一個新的String類對象。
(3)javastring訪問擴展閱讀:
String的主要功能:
String 類提供的成員執行以下操作:比較 String 對象;返回 String 對象內字元或字元串的索引;復制 String 對象的值;分隔字元串或組合字元串;修改字元串的值;將數字、日期和時間或枚舉值的格式設置為字元串;對字元串進行規范化。
使用 Compare、CompareOrdinal、CompareTo、Equals、EndsWith 和 StartsWith 方法進行比較。
使用 IndexOf、IndexOfAny、LastIndexOf 和 LastIndexOfAny 方法可獲取字元串中子字元串或 Unicode 字元的索引。
使用 Copy 和 CopyTo 可將字元串或子字元串復制到另一個字元串或 Char 類型的數組。
使用 Substring 和 Split 方法可通過原始字元串的組成部分創建一個或多個新字元串;使用 Concat 和 Join 方法可通過一個或多個子字元串創建新字元串。
使用 Insert、Replace、Remove、PadLeft、PadRight、Trim、TrimEnd 和 TrimStart 可修改字元串的全部或部分。
使用 ToLower、ToLowerInvariant、ToUpper 和 ToUpperInvariant 方法可更改字元串中 Unicode 字元的大小寫。
使用 Length 屬性可獲取字元串中 Char 對象的數量;使用 Chars 屬性可訪問字元串中實際的 Char 對象。
使用 IsNormalized 方法可測試某個字元串是否已規范化為特定的範式。使用 Normalize 方法可創建規范化為特定範式的字元串。
❹ java中什麼叫訪問,什麼叫調用
訪問一般是指訪問變數,其對象是變數;調用一般是指調用方法,其對象是方法。
❺ Java String引用傳遞問題
了解數據在堆棧內存中的存儲,這道問題就可以解了。
1.String對象傳入方法後,str2是局部變數,方法結束之後,局部變數值會在緩沖區中。但是並沒有修改成員變數str1的值,而輸出的仍然是str1的值,"hello"。(局部變數和成員變數是不同的變數,即使名字相同)
2.至於第二個因為類的實例化,對象可以指向該類地址,可以訪問該類的成員變數。對象指向成員變數temp,調用方法tell方法時,傳入的是Ref2對象的地址。該地址可以找到Ref2的成員變數temp。然後把"xueyuan"賦給temp,由此temp的值已經改變,方法調用結束之後,輸出的是Ref2類的已經改變值的成員變數
❻ java中如何用String訪問對象的屬性
利用反射可以獲得類的變數名,給你個例子
public class MyTools {
public static void setAllComponentsName(Object f) {
// 獲取f對象對應類中的所有屬性域
Field[] fields = f.getClass().getDeclaredFields();
for(int i = 0 , len = fields.length; i < len; i++) {
// 對於每個屬性,獲取屬性名
String varName = fields[i].getName();
try {
// 獲取原來的訪問控制許可權
boolean accessFlag = fields[i].isAccessible();
// 修改訪問控制許可權
fields[i].setAccessible(true);
// 獲取在對象f中屬性fields[i]對應的對象中的變數
Object o = fields[i].get(f);
System.out.println("傳入的對象中包含一個如下的變數:" + varName + " = " + o);
// 恢復訪問控制許可權
fields[i].setAccessible(accessFlag);
} catch (IllegalArgumentException ex) {
ex.printStackTrace();
} catch (IllegalAccessException ex) {
ex.printStackTrace();
}
}
}
public static void main(String[] args)
{
// 測試代碼用來獲取一個JLabel中聲名的所有的屬性名和其屬性變數
setAllComponentsName(new JLabel("測試"));
}
}