面試官:優化代碼中大量的if/else,你有什麼方案?
一個快速迭代的項目,時間久了之後,代碼中可能會充斥著大量的if/else,嵌套6、7層,一個函數幾百行,簡!直!看!死!人!這個無限循環嵌套,只是總循環的...
public class Test{
private static int i=1;
public int getNext(){
return i++;
}
public static void main(String [] args){
Test test=new Test();
Test testObject=new Test();
test.getNext();
testObject.getNext();
System.out.println(testObject.getNext());
}
}
答案文章結尾給出
該題主要考察的是static屬性和i++操作。
因為i是static的,是類屬性,所以不管有多少對象,都共用的一個變量。
這裡getNext()方法被調用了三次,所以進行了三次i++操作。
return i++, 先返回i,然後i+1;
第一次調用getNext()方法時,返回的是1,但此時i=2;
第二次調用 getNext()方法時,返回的是2,但此時i=3;
第三次調用 getNext()方法時,返回的是3,但此時i=4;
所以這裡結果為3