我目前正在通過一些非常古老的代碼挖掘我的方式,以擴展它,並且我一直在遇到可能很容易返回void的方法。最臭名昭著的一個在我腦海裏的線沿線的打算:使返回類型超出void的性能影響是什麼?
public int dbInsert(int userID)
{
Map<String, Integer> foo = new HashMap<String, Integer>();
foo.put("bar", 0);
foo.put("user", userID);
sqlInsert(foo);
return foo.get("bar") != null ? (Integer) foo.get("bar") : 0;
}
我覺得有一個很大的重新做上來了,無論如何,但我只是想知道有多大的影響剔除法這樣的空白返回類型(如上面的代碼片段總是返回0)會影響性能或者編譯器是否會認識到冷漠並忽略它?
要麼是方法需要返回一個值,要麼是沒有。這很簡單。 –
你假設'sqlInsert'不修改'foo';這是合理的嗎? –
該代碼中有足夠的外部開銷,將該方法更改爲無效的影響將不顯着,達到幾個數量級。爲什麼你認爲這個「臭名昭着」對我來說是個謎。 – EJP