gpt4 book ai didi

Java 用一个参数比较对象

转载 作者:行者123 更新时间:2023-12-02 01:37:37 27 4
gpt4 key购买 nike

我正在自学java,不太明白这个问题。假设我有两个对象,并且想在方法中比较它们。如何在不更改方法中参数数量的情况下做到这一点?

我似乎无法将其他动物的参数放入该方法中,因为它只接受参数。这和可比性有关系吗?

public class Animal {
private double size;
private double length;

public Animal(double size, double length) {
this.size = size;
this.length = length;
}

public compareSize(Animal animal) {
//if (dog.size < animal.size)
//return 0;
//return 1;
}

public static void main(String[] args) {
Animal cat = new Animal(100.0,30.1);
Animal dog = new Animal(200.0, 09.5);
System.out.println(dog.compareSize(cat));
}
}

最佳答案

您在 Animal 类中定义方法 compareSize

在 Java(以及所有其他 OOP 语言)中,当您调用对象的方法时,可以使用 this 关键字访问该对象。

当您调用 dog.compareSize(cat) 时,您正在对 dog 对象调用 compareSize,因此在您的方法中 this 将引用 dog 对象。

因此您需要比较 this.sizeanimal.size

Comparable接口(interface)与此无关。Comparable 接口(interface)允许您的类通过定义compareTo 方法进行比较。需要使用有用的方法,如 Collections.sort() .

此外,您需要在 compareSize 方法中定义返回类型,其签名应为: public int CompareSize(动物动物)

关于Java 用一个参数比较对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54989438/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com