Return-Path: Delivered-To: apmail-commons-issues-archive@minotaur.apache.org Received: (qmail 48642 invoked from network); 23 Sep 2009 05:07:40 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 23 Sep 2009 05:07:40 -0000 Received: (qmail 43312 invoked by uid 500); 23 Sep 2009 05:07:40 -0000 Delivered-To: apmail-commons-issues-archive@commons.apache.org Received: (qmail 43220 invoked by uid 500); 23 Sep 2009 05:07:40 -0000 Mailing-List: contact issues-help@commons.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: issues@commons.apache.org Delivered-To: mailing list issues@commons.apache.org Received: (qmail 43210 invoked by uid 99); 23 Sep 2009 05:07:39 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 23 Sep 2009 05:07:39 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 23 Sep 2009 05:07:37 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id F1E60234C004 for ; Tue, 22 Sep 2009 22:07:15 -0700 (PDT) Message-ID: <1761416672.1253682435976.JavaMail.jira@brutus> Date: Tue, 22 Sep 2009 22:07:15 -0700 (PDT) From: "Levon Karayan (JIRA)" To: issues@commons.apache.org Subject: [jira] Updated: (LANG-534) ArrayUtils should have method to convert null arrays to empty ones to help with Defensive coding In-Reply-To: <904928838.1253516777914.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/LANG-534?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Levon Karayan updated LANG-534: ------------------------------- Summary: ArrayUtils should have method to convert null arrays to empty ones to help with Defensive coding (was: ArrayUtils should have method to conver null arrays to empty ones to help with Defensive coding) > ArrayUtils should have method to convert null arrays to empty ones to help with Defensive coding > ------------------------------------------------------------------------------------------------ > > Key: LANG-534 > URL: https://issues.apache.org/jira/browse/LANG-534 > Project: Commons Lang > Issue Type: Improvement > Reporter: Levon Karayan > Priority: Trivial > Attachments: 20090920LevonArrayUtils-nullToEmpty.patch > > Original Estimate: 0.17h > Remaining Estimate: 0.17h > > There are APIs that I've come across that return null Arrays in the event where there are no results. Often these APIs correctly throw exceptions when there is an "exceptional event", but no results isn't exceptional, and it often shouldn't be. This causes the programmer to make extra tests for null throughout the code to deal with the null case, and sometimes these null cases are added after a customer searched for gobleygook and got a NullPointerException. It's just far cleaner/safer to convert these null arrays to empty arrays. > Another benefit to this method is that if the array being passed in is actually already an empty array, it will swap the pointer for the static final in the ArrayUtils class to help decrease memory fragmentation. > e.g. > BEFORE: > try > { > results = customer.getResults(query); > } catch ( IOException ioex ) { > // ... > } > if ( null == results ) > { > results = new int[0]{}; > } > // do stuff > AFTER > try > { > results = ArrayUtils.nullToEmpty(customer.getResults(query)); > } catch ( IOException ioex ) { > // ... > } > // do stuff -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.