2011-11-07 23 views
8

Bu işlevi Eclipse ile işaretlenmiş bazı ölü kodlarla kullanıyorum.Eclipse, satırları ölü kod olarak işaretler

& b'yi kontrol eden iki satır var. B kontrol eden satırlar null olarak işaretlenir.

public int[] runThis(List<Integer> buildIds, List<Integer> scenarios, boolean oflag) { 

    int rating[] = new int[scenarios.size()]; 

    if(buildIds == null) { 
     System.out.println("ERROR - Building ID list is null!"); 
     return null; 
    } 

    if(scenarios == null) { 
     System.out.println("ERROR - Scenario list is null!"); //dead 
     return null; //dead 
    } 

    return rating;  

} 

Elips neden iki çizgiyi öldürebilir? Herhangi bir yardım? Zaman ayırdığınız için çok teşekkürler.

+8

Bu yöntemde başka kod var mı? Belki de daha önce 'b' denemeyi engelliyorsunuz, bu da Eclipse'e bu noktada 'n' 'null' olamayacağını söyler. Bu durumda, "if (b == null)" satırında "null null check" gibi bir uyarı da almalısınız. –

+1

@Joachim +1000. –

+0

Bilmiyorum * Eclipse * çok ama IntelliJ IDEA kodunuzu gerçek zamanlı olarak analiz edebilir ve bazı kodların ulaşılması imkansız olduğu konusunda sizi uyarır. Sizin durumunuzda, IntelliJ bunu * b * asla * null * olarak algılamazsa, bu iki satıra asla ulaşılamayacağını uyaracaktır çünkü * b == null ** koşulu her zaman yanlıştır. – TacticalCoder

cevap

15

Zaten diziniz yapıcınızda scenarios.size()'u aradınız. Bu, scenarios numaralı garantileri boş değil veya bu noktaya göre bir istisna atmış olacak.

+0

Haklısınız. Teşekkürler. – jn1kk