我想知道是否有办法删除这种重复的代码(它出现在我的程序中)
public void pickUp(Cointainer in)
{
if(playerContainer.returnSomething() == null)
{
playerContainer.setSomething(in.returnSomething());
in.setSomething(null);
}
}
public void dropContainer (Container out)
{
if(out.returnSomething() == null)
{
out.setSomething(playerContainer.returnSomething());
playerContainer.setSomething(null);
}
}
正如您从上面的示例中看到的那样,这两种方法基本上完全相同,除了哪个容器被测试为空,以及对象最终进入哪个容器。无论如何,有没有将这样的东西简化为一种方法?另一个示例出现在代码的后面,其中多个对象以不同的顺序进行测试:
if (control = 1)
{
if(con1 == null)
return con1
else if (con2 == null)
return con2
else
return con3
}
else
{
if(con3 != null)
return con3
if(con2 != null)
return con2
else
return con1
}
无论如何,这种类型的语句是否可以简化为一个 if?
抱歉,如果我的问题真的很愚蠢/迟钝,我可能在这方面有点缺乏,特别是考虑到我在这里问的最后一个问题:/
无论如何,感谢您花时间阅读本文:)