java两个字符串为什么可以用等于号比较

if(request.getmethod == “GET”) 这里为什么会返回真

java机制里,字符串放的堆是可以复用的。也就是说。如果已经有 “GET”字符串,那么再获取一个“GET"字符串可能会取到同一个地址。 不过在很多操作都可能导致重新生成一个”GET"字符串。
而 == 在字符串比较时,比较的是字符串的地址。所以,可能返回真的。不过不同JDK版本。不同的操作都有可能导致返回是假。所以不要用 == 比较字符串。
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答