Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 尝试将已建立的对象与其他两个变量进行比较_Java_Object_Methods - Fatal编程技术网

Java 尝试将已建立的对象与其他两个变量进行比较

Java 尝试将已建立的对象与其他两个变量进行比较,java,object,methods,Java,Object,Methods,我已经拥有的对象名为client1(只是一个名称),它拥有(String description,int rating)的属性,上面的字符串是深色头发,级别是7。这是一个配对节目。无论如何,我试图在getCompatibility()方法中比较Client1(“深色头发”,7); 因此,使用此方法,我希望返回两个匹配特征的兼容性度量,如果描述不匹配,则返回零。这就是我想做的 公共返回类型GetCompatibility(特征其他等级) {将对象已经启动的黑发和7设置为变量,以便我可以将它们与输入

我已经拥有的对象名为client1(只是一个名称),它拥有(String description,int rating)的属性,上面的字符串是深色头发,级别是7。这是一个配对节目。无论如何,我试图在getCompatibility()方法中比较Client1(“深色头发”,7); 因此,使用此方法,我希望返回两个匹配特征的兼容性度量,如果描述不匹配,则返回零。这就是我想做的

公共返回类型GetCompatibility(特征其他等级) {将对象已经启动的黑发和7设置为变量,以便我可以将它们与输入的后两个进行比较。 }

一旦我把它们都放在变量中,比较这两者就很简单了。
还有另一种比较两个对象的方法,可能是比较两个对象变量的getCompatibility(Object,Object)。

我认为您想要的是这样的:

public class Characteristic {
    private String description;
    private int rating;

    public Client(String description, int rating) {
        this.description = description;
        this.rating = rating;
    }

    public int getCompatability(Characteristic otherRating) {
        if (description == null && otherRating.description != null || !description.equals(otherRating.description)) {
            return 0;
        }

        int compatability;
        // Perform comparison to calculate "compatability".
        return compatability;
    }
}
然后可以这样调用:

Characteristic client1 = new Characteristic("Dark Hair", 7);
Characteristic client2 = new Characteristic("Dark Hair", 4);
Characteristic client3 = new Characteristic("Light Hair", 6);
client1.getCompatability(client2); // Returns non-zero compatability since descriptions are the same
client1.getCompatability(client3); // Returns zero compatability since descriptions are different
client2.getCompatability(client3); // Returns zero compatability since descriptions are different
可以使用

 client1.getCompatiblity(client2);



eg:
class ClientDetails {
    String description;
    int rating;
    //getter, setter

    public int getCompatibility(Object client) {
        //add null check & obj type check
        ClientDetails client1 = (ClientDetails) client;
        int count = 0;
        if (description.equals(client1.getDescription()) {
           count ++;
        }
        if (rating == client1.getRating()) {
           count ++;
        }
        return count;
    }
}