我正在尝试将这些小的数学调用从 C# 转换为 Java,并且只是想确保它们以相同的方式运行。我添加了一个额外的调用,因为它在 Java 中不受支持。
这是C#中的代码
public override int CompareTo(object a)
{
EquationGenome Gene1 = this;
EquationGenome Gene2 = (EquationGenome)a;
return Math.Sign(Gene2.CurrentFitness - Gene1.CurrentFitness);
}
爪哇:
注意 Math.Sign 没有被调用。
/**
* Compare to.
*/
public int compareTo(final Object a) {
final EquationGenome gene1 = this;
final EquationGenome gene2 = (EquationGenome) a;
return (int) ((-1.0) * (gene2.currentFitness - gene1.currentFitness));
}
这是在 Java 中使用两个 int 参数复制 C# 的“下一个”的方法:
public static final int nextInt(final Random r, final int min, final int max) {
final int diff = max - min;
final int n = r.nextInt(diff);
return n + min;
}
这些方法从 C# 到 Java 是否等效?