我有一个有两个参数的setter,如此
public void setStuff(OBJECT x, OBJECT, y)
如果x的值大于y,我想将x的值设置为BLAH_BLAH,将y的值设置为FINAL_THING。我怎么做,因为它们是对象,我所知道的就是检查它们是否相等。用等于方法。
答案 0 :(得分:1)
为了比较对象,我建议你覆盖equals方法,并在变量上等于比较 这是一个简单的类CompareObject
public class CompareObjects {
public int age;
public static void main(String args[])
{
CompareObjects co=new CompareObjects();
co.age=10;
CompareObjects co1=new CompareObjects();
co1.age=100;
System.out.println(co.equals(co1));
}
public boolean equals(CompareObjects co)
{
if(this.age>co.age)
return true;
else return false;
}
}
输出 false
现在您知道哪个对象大于哪个对象。
现在,您可以在public void setStuff(OBJECT x, OBJECT, y)
例如
public void setStuff(OBJECT x, OBJECT, y)
{
if(x.equals(y)
{
//do something
}
else
{
//do something
}
}
答案 1 :(得分:0)
如果您知道如何获取x的值和y的值,那么执行以下操作: 伪java:
if (getValue of x > getValue of y),
x.setValue = xyz,
y.setValue = abc.