Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Duplicate
-
3.2
-
None
-
Java 1.5
Description
The static method ListUtils.transformedList(List list, Transformer trans) does not apply the transformer before returning the list. I've traced into the code and it falls all the way through to the TransformedCollection constructor which has documentation that states that items existing in the list are NOT transformed. This yields bizarre unexpected behavior for this method.
Conversely, the ListUtils.predicatedList(List list, Predicate pred) DOES apply the predicate. These methods are very similar but behave inconsistently.
If the transformer is not applied to the list, the method's usefulness is somewhat limited and causes the user to create an extra unwanted list in some circumstances:
// To transform an existing list
List myList = ... some list to be transformed ...
List transformed = ListUtils.transformedList(new ArrayList(), myTransformer);
transformed.addAll(myList);
I would expect a much shorter implementation such as:
List transformed = ListUtils.transformedList(myList, myTransformer)
Attachments
Attachments
Issue Links
- duplicates
-
COLLECTIONS-288 Javadoc: incorrect behavior explained for ListUtils.transformedList
- Closed