我有一个应该相等的整数(我通过输出验证了它)。但是在我的if
情况下,Java看不到这些变量具有相同的值。
我有以下代码:
if (pay[0]==point[0] && pay[1]==point[1]) {
game.log.fine(">>>>>> the same");
} else {
game.log.fine(">>>>>> different");
}
game.log.fine("Compare:" + pay[0] + "," + pay[1] + " -> " + point[0] + "," + point[1]);
并产生以下输出:
FINE: >>>>>> different
FINE: Compare:: 60,145 -> 60,145
可能我必须添加point
定义如下的内容:
Integer[] point = new Integer[2];
并且pay
我们从环路构造采取:
for (Integer[] pay : payoffs2exchanges.keySet())
因此,这两个变量都具有整数类型。
查看本文:装箱的值和相等性
使用或比较包装器类型(例如Integer
s,Long
s或Boolean
s)时,您 会将它们作为引用* 而不是值 进行比较
。==``!=
*
如果两个变量指向不同的对象,则 即使对象表示相同的值* ,它们也不会==
相互影响。 *
示例: 使用
==
和比较不同的Integer对象!=
。Integer i = new Integer(10); Integer j = new Integer(10); System.out.println(i == j); // false System.out.println(i != j); // true
解决方案是使用.equals()
… 比较值。
示例: 使用比较对象
.equals(…)
Integer i = new Integer(10); Integer j = new Integer(10); System.out.println(i.equals(j)); // true
…或显式取消装箱操作数。
示例:通过 强制强制拆箱:
Integer i = new Integer(10); Integer j = new Integer(10); System.out.println((int) i == (int) j); // true
使用指南 - 疑难问题 - 数据缺失或无数据问题 - 为什么看不到热力图 设置热力图的页面上边没有正确添加当前站点的统计代码 网站有跳转,但是热力图上边设置的监控网址是跳转之前的,请用跳转之后的网址设置; 注意查看时间,热力图是隔一天后才有数据的; 偶尔浏览器的显示存在问题,请将页面设置为100%大小,并作刷新处理,且建议使用Chrome和Firefox浏览器。 页面上添加了禁止iframe加载的
我有一个多模块Maven项目,其中一个模块使用JavaFX。虽然在Eclipse中编译一切都很好,但是执行 mvn清洁编译 返回此错误 maven似乎看不到包含的模块(但是Eclipse看到了它,因为它不会给出编译错误)。我如何让Maven编译这段代码? 我已经创建了我的应用程序的迷你版本,它再现了这一点。这些是文件: mvn clean编译的输出 日志中的编译器详细信息
我是一个很新的编码,我一直有问题的物理计算器,我一直在做。我做这件事是为了在类项目中使用OOP。我的要点是让用户输入变量,然后它们被运到类文件上的等式中,然后最后显示结果。当我尝试编译时,它说函数getAnswer看不到它上面声明的结果。我计划对这个方程进行16次迭代,所以我首先要弄清楚为什么这一次不起作用。欢迎任何回答。 -谢谢 这是类文件
问题内容: 编辑:好的,好的,我读错了。我没有将int与Integer进行比较。适当注意。 我的SCJP书说: 当==用于将原语与包装器进行比较时,包装器将被展开,并且比较将是原语与原始的比较。 因此,您会认为此代码将打印: 但它打印。 另外,根据我的书,这应该打印: 不。是。 是什么赋予了? 问题答案: 当您为该值分配1时,将装箱,创建一个对象。然后比较比较两个对象引用。引用不相等,因此比较失败
我正在使用Eclipse和Gradle。Twilio被列为依赖项。所有版本都是最新的。引用Gradle的代码将无法编译,并返回Twilio类不存在的错误消息。在线代码令人沮丧地过时了。我希望这里有人能帮忙。 我正在运行的代码非常基本:
我有一个简单的脚本,每2秒打印一次hello。 我有一个超简单的docker文件运行这个脚本。 首先我建立docker映像: 现在,我使用选项运行它,它按预期工作。 但是当我以分离模式运行它,然后尝试查看日志时,我什么也看不到。