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.youkuaiyun.com/u012545017/article/details/13761931