1. 程式人生 > >java判斷字串相等

java判斷字串相等

在java中,判斷字串相等有幾種不同的情況:

1.

public class Test {
	public static void main(String[] args) {
		String a="aaa";
		String b="aaa";
		System.out.println(a==b);
	}	
}

運算結果:
在這裡插入圖片描述

這裡我們將兩個變數a和b都賦值了“aaa”字串,執行之後發現兩個變數相等了,這是因為字串“aaa”被放在了方法區的字串常量池中,兩個變數實際上都是指向常量池的同一個地址,因此相等。

2.

public class Test {
	public
static void main(String[] args) { String a=new String("aaa"); String b=new String("aaa"); System.out.println(a==b); } }

運算結果:
在這裡插入圖片描述
這裡我們給兩個變數分別開闢了兩個空間,在兩個空間中存放了“aaa”字串,兩個空間的地址不同,因此直接用==判定的話會造成不相等

3.

public class Test {
	public static void main(String[] args) {
		System.out.println("aaa"==
"aaa"); } }

運算結果:
在這裡插入圖片描述
這種情況很簡單,就是單純地判斷兩個字串的值是否相等而已,當然是相等的

4.

public class Test {
	public static void main(String[] args) {
		String a=new String("aaa");
		String b=new String("aaa");
		System.out.println(a.equals(b));
	}	
}

在這裡插入圖片描述
在實際中,我們通常使用的是.equals這種方法來判斷兩個字串是否相等,equals本來是用來判斷兩個物件是否相等的,這裡java對字串做了過載。