RSS Le Daily WTF

CodeSOD : Intégral à une lecture de base de données

Java fait une distinction entre les types d'objets et les types primitifs, ce qui cause de la confusion chez les débutants. Les types de collection comme ArrayList nécessitent des types d'objets, mais ne peuvent pas directement contenir des primitifs. Java boîte automatiquement les primitifs dans leurs contreparties d'objets, simplifiant l'utilisation. Le code fourni montre une erreur de compréhension de cette fonctionnalité, boîtant et déboîtant inutilement des entiers. Ce code récupère des données à partir d'une base de données, en peuplant un ArrayList d'objets Integer. Au lieu d'utiliser directement l'ArrayList, le code crée ensuite un tableau d'entiers et copie les valeurs Integer dans celui-ci. Cette conversion inutile provient probablement d'une préférence pour les tableaux de primitifs. La nécessité d'itérer le ResultSet pour déterminer sa taille nécessite une liste intermédiaire. L'utilisation d'un tableau d'entiers peut être une optimisation prématurée ou un reflet de la préférence du développeur. L'auteur suspecte que le code a été écrit par quelqu'un plus familier avec C. Le code pourrait être simplifié en utilisant directement l'ArrayList, en profitant de la boîte automatique de Java. Cette approche évite la boîte manuelle, la déboîte et la création d'un tableau d'entiers.
thedailywtf.com
CodeSOD: Integral to a Database Read
Create attached notes ...