RSS 데일리 WTF

코드SOD: 데이터베이스 읽기에 필수적

자바는 객체 타입과 기본 타입(primitive type)을 구분하기 때문에 초보자들에게 혼란을 야기합니다. ArrayList와 같은 컬렉션 타입은 객체 타입을 필요로 하지만, 기본 타입을 직접 담을 수 없습니다. 자바는 기본 타입을 자동으로 해당 객체 타입으로 박싱(boxing)하여 사용을 간소화합니다. 제공된 코드는 이 기능에 대한 오해를 보여주며, 불필요하게 정수를 박싱하고 언박싱(unboxing)합니다. 이 코드는 데이터베이스에서 데이터를 가져와 Integer 객체로 ArrayList를 채웁니다. 그런 다음, ArrayList를 직접 사용하는 대신, int 배열을 생성하고 Integer 값을 복사합니다. 이러한 불필요한 변환은 아마도 기본 배열을 선호하는 데서 기인했을 것입니다. ResultSet의 크기를 결정하기 위해 반복해야 할 필요성은 중간 리스트를 필요로 합니다. int 배열을 사용하는 것은 조기 최적화이거나 개발자의 선호도를 반영하는 것일 수 있습니다. 작성자는 이 코드가 C에 더 익숙한 사람에 의해 작성되었을 것으로 추측합니다. 자바의 오토박싱을 활용하여 ArrayList를 직접 사용함으로써 코드를 간소화할 수 있습니다. 이 접근 방식은 수동 박싱, 언박싱, 그리고 불필요한 int 배열의 생성을 피합니다.
favicon
thedailywtf.com
CodeSOD: Integral to a Database Read
Create attached notes ...