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