L.J*_*J.W 4 java string equals
在我研究一些开源产品的源代码时,我发现代码如下:
if (a=="cluser")
Run Code Online (Sandbox Code Playgroud)
a是一个String变量.String equals操作可以替换为==吗?
你应该几乎从不使用==,几乎总是使用equals().它只适用于==两个字符串引用同一个对象的情况.有一种intern()方法String可以为给定的字符串值返回相同的引用.字符串文字是隐式实现的.只有你有充分的理由才能==用于字符串比较,即使这样你也需要非常小心.
唯一的好理由是表现,而且很少会有关系.只有在您确定需要时才进行优化.否则通常不值得麻烦.如果您正在查看一些开源代码,他们可能会遇到一种情况,即比较是在一个非常紧凑的循环中或非常频繁地调用,优化可以提供帮助.或者它只是过早优化,似乎是安全的.