java - Java == 的字符串对象为真
问题描述
在 1.8 (JRE 1.8.0_221) 中,这种比较似乎在以前比较两个对象的地方==
不应该相同?这是Java优化掉一个变量的情况还是发生了其他事情?
public class example
{
public static void main(String[] args)
{
String str1 = "hi";
String str2 = "hi";
System.out.println(str1.hashCode());
System.out.println(str2.hashCode());
if (str1 == str2)
{
System.out.println("wut");
}
}
}
输出:
3329
3329
wut
解决方案
推荐阅读
- sql - SQL 查询不起作用 外键约束的格式不正确
- php - 需要内容安全策略帮助
- docker - Traefik 的“使用 docker-compose 的基本示例”不起作用
- javascript - Nz-Slider 格式化程序输入,nz-zorro-9.3.1
- python-sphinx - 我可以使用列表表创建多行单元格吗?
- android - 如何使用 gradle 检测依赖版本更改?
- format - 物联网传感器数据格式统一
- r - 获取具有随机截距和具有异质方差的连续一阶自回归相关结构的 varcov 矩阵 LMM?
- c# - 无法加载场景,因为它尚未添加到构建设置中
- excel - 即使单击了保存按钮,也会显示保存数据的消息框提示