String字符串需要掌握的幾個問題

一、兩種定義方式的區別:

String str = "hello";  

   先在堆內存中查找是否已經有"hello",若有,將str指向已存在的它即可;若堆內存中沒有,則新建一個"hello"對象,並賦給str。

String str = new String("hello");

   不管堆內存中是否已經有"hello",直接新建一個"hello"對象。

 

另外:“==”比較的是地址,也就是說判斷是否是同一個對象;“equals”比較的是值。

package Test527;

public class StringTest {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		
		String s1 = "hello";
		String s2 = "hello";
		String s3 = new String("hello");
		
		//比較s1和s2的值是否相等
		if(s1.equals(s2))
			System.out.println("true");
		else
			System.out.println("false");
		
		//比較s1和s2是否是同一個對象
		if(s1==s2)
			System.out.println("true");
		else
			System.out.println("false");
		
		//比較s1和s3的值是否相等
		if(s1.equals(s3))
			System.out.println("true");
		else
			System.out.println("false");
		
		//比較s1和s3是否是同一個對象
		if(s1==s3)
			System.out.println("true");
		else
			System.out.println("false");

	}

}

 

二、String和Char[] 的互相轉換:

package Test527;

public class StringAndChar {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		
		String str = "hello";
		char ch[] = {'w','o','r','l','d'};
		
		//將String轉換成char
		char ch2[] = str.toCharArray();
		for(int i=0;i<ch.length;i++)
		{
			System.out.println(ch2[i]);
		}
		
		//將char轉換成String,方法一:
		String str2 = new String(ch);
		System.out.println(str2);
		
		//將char轉換成String,方法二:
		String str3 = String.valueOf(ch);
		System.out.println(str3);

	}

}

String ——> char[ ] : 調用String類的toCharArray()方法。

char[ ] ——> String : 1.利用String(char[] ch)的構造方法;2.調用String類的靜態方法valeOf(char[] ch)。

另外:關於他倆的長度,

String類裏有length()方法;str.length();

char[ ] 字符數組則有length的屬性,ch.length; 


三、int類型轉換成String類型:把整形數字24轉換成字符串。

三種方法: 

1.24+""

2.String.valueof(24)。運用String類裏的靜態方法valueof(int i)

3.Integer.toString()。運用Integer類裏的靜態方法toString(int i)

		int x = 24;
		String str_x1 = x+"";
		String str_x2 = String.valueOf(x);
		String str_x3 = Integer.toString(x);
		System.out.println(str_x1+"\n"+str_x2+"\n"+str_x3);


    






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章