craigmcc 2002/12/15 16:29:48 Modified: beanutils/src/java/org/apache/commons/beanutils BeanUtils.java Log: Improve the performance of getArrayProperty() by using an array as the destination, rather than an ArrayList that is then converted to an array. PR: Bugzilla #15160 Submitted by: Ingo Struck <ingo at ingostruck.de> Revision Changes Path 1.30 +16 -18 jakarta-commons/beanutils/src/java/org/apache/commons/beanutils/BeanUtils.java Index: BeanUtils.java =================================================================== RCS file: /home/cvs/jakarta-commons/beanutils/src/java/org/apache/commons/beanutils/BeanUtils.java,v retrieving revision 1.29 retrieving revision 1.30 diff -u -r1.29 -r1.30 --- BeanUtils.java 16 Dec 2002 00:21:02 -0000 1.29 +++ BeanUtils.java 16 Dec 2002 00:29:48 -0000 1.30 @@ -456,27 +456,25 @@ Iterator items = ((Collection) value).iterator(); while (items.hasNext()) { Object item = items.next(); - if (item == null) + if (item == null) { values.add((String) null); - else + } else { values.add(item.toString()); + } } return ((String[]) values.toArray(new String[values.size()])); } else if (value.getClass().isArray()) { - ArrayList values = new ArrayList(); - try { - int n = Array.getLength(value); - for (int i = 0; i < n; i++) { - Object item = Array.get(value, i); - if (item == null) - values.add((String) null); - else - values.add(item.toString()); + int n = Array.getLength(value); + String results[] = new String[n]; + for (int i = 0; i < n; i++) { + Object item = Array.get(value, i); + if (item == null) { + results[i] = null; + } else { + results[i] = item.toString(); } - } catch (ArrayIndexOutOfBoundsException e) { - ; } - return ((String[]) values.toArray(new String[values.size()])); + return (results); } else { String results[] = new String[1]; results[0] = value.toString();
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>