String类型是否支持 == 判断是否相等

package xdLexicalAnalyzer;

public class Token {
	public String type;
	public String value;
	public Token(String type,String value){
		this.type = type;
		this.value = value;
	}
	public Token(){}
	
	@Override
	public String toString(){
		return "< " + type + ", " + value + " >";
	}
}

以上是写的一个简单的类,用来测试:

首先,直接用 == 判断:

Token t = new Token("", "");
		t.type += 'i';
		t.type += 'n';
		t.type += 't';
		System.out.println(t.type);
		System.out.println(t.type == "int");

输出为:int

              false


然后用String的equals函数判断:

Token t = new Token("", "");
		t.type += 'i';
		t.type += 'n';
		t.type += 't';
		System.out.println(t.type);
		System.out.println(t.type.equals("int"));

输出为:int

              true

因此,String类型不支持直接用 == 判断是否相等。

下面贴上大神解释的链接:http://blog.csdn.net/u012545017/article/details/13761931






你可能感兴趣的:(java,编程基础)