2015-08-05 1 views
1

Je joue un peu avec PMD. Il est dit "Évitez d'utiliser une instruction de branchement comme dernier dans une boucle.".PMD: Évitez d'utiliser une instruction de branchement comme dernière en boucle

private static MyClass getObj(ResultSet rs) { 
    try { 
     while (rs.next()) { 
      MyClass obj = new MyClass(rs.getString("name")); 

      // do other stuff 

      return obj; 
     } 
    } catch (SQLException e) { 
     logAndShowException(e); 
    } 
    return null; 
} 

Comment réparer cet avertissement? J'ai pensé à supprimer la boucle while et j'ai juste écrit une instruction if car j'attends exactement un ResultSet.

Merci.

+0

Sur quelle ligne obtenez-vous l'avertissement? – Juvanis

+0

ne déclarez pas d'objets à l'intérieur de la boucle – Selva

+1

@Selva Cela n'a pas vraiment d'importance quand ce n'est pas une boucle - il est garanti de ne jamais l'exécuter deux fois. Globalement, une boucle est juste la mauvaise chose à utiliser là-bas comme l'a dit Thiago dans sa réponse. – Thor84no

Répondre

3

La boucle n'est définitivement pas nécessaire, puisque vous quitterez tout de suite n'importe quoi. Votre suggestion d'utiliser une instruction if est bonne et vous devriez procéder avec. Vous vous débarrasserez de la violation de PMD et votre code aura plus de sens.

Vérifiez How to get only the first row from a ResultSet et amusez-vous avec PMD.