相关疑难解决方法(0)

为什么我需要覆盖Java中的equals和hashCode方法?

最近我读了这个 Developer Works文档.

该文档是关于定义hashCode()equals()有效和正确的,但我无法弄清楚为什么我们需要覆盖这两种方法.

如何有效地实施这些方法?

java equals hashcode

355
推荐指数
15
解决办法
39万
查看次数

为什么Java没有看到整数是平等的?

我有应该是相等的整数(我通过输出验证它).但在我的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]);
Run Code Online (Sandbox Code Playgroud)

它产生以下输出:

FINE: >>>>>> different
FINE: Compare:: 60,145 -> 60,145
Run Code Online (Sandbox Code Playgroud)

可能我必须添加这样point定义:

Integer[] point = new Integer[2];
Run Code Online (Sandbox Code Playgroud)

并且pay我们从环路构造采取:

for (Integer[] pay : payoffs2exchanges.keySet())
Run Code Online (Sandbox Code Playgroud)

因此,这两个变量都具有整数类型.

java comparison if-statement equals

24
推荐指数
3
解决办法
3万
查看次数

operator <未定义参数类型Integer,int error

我正在尝试编写一个代码来获取输入字符串的重复次数.

没写太多代码,但这是我的代码:

public class MultipleCopiesString {
    public static void StringCopy(String inp, Integer num) {
        for (int i = 0; i < num; i++){
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我在for循环中遇到错误(i < num),我想知道它为什么会出现以及如何解决它.

Java版本是1.8和创建代码eclipse.

java sorting

0
推荐指数
1
解决办法
2901
查看次数

标签 统计

java ×3

equals ×2

comparison ×1

hashcode ×1

if-statement ×1

sorting ×1