You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "Paul King (JIRA)" <ji...@apache.org> on 2017/02/01 23:17:53 UTC

[jira] [Closed] (GROOVY-7882) NullPointerException in List.toUnique if one element is null

     [ https://issues.apache.org/jira/browse/GROOVY-7882?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Paul King closed GROOVY-7882.
-----------------------------

> NullPointerException in List.toUnique if one element is null
> ------------------------------------------------------------
>
>                 Key: GROOVY-7882
>                 URL: https://issues.apache.org/jira/browse/GROOVY-7882
>             Project: Groovy
>          Issue Type: Bug
>          Components: groovy-runtime
>    Affects Versions: 2.4.7
>         Environment: Mac OS X 10.11.5, Groovy 2.4.7 installed via sdkman
>            Reporter: Alexander Franke
>            Assignee: Paul King
>
> When using toUnique() on a List I was encountering a NullPointerException when one of the elements is null. This does not happen when using .unique() which is a quite odd behavior. So except from one being in-place and the other returning the sorted List I would expect the same result from both methods. 
> Following is the output from GroovyConsole that shows the issue.
> {code}
> groovy> List a = [1,4,2,3,3,2,1,4, null] 
> groovy> List b = [1,4,2,3,3,2,1,4, null] 
> groovy> println a.unique() 
> groovy> println a 
> groovy> println b.toUnique() 
> groovy> println b 
>  
> [1, 4, 2, 3, null]
> [1, 4, 2, 3, null]
> Exception thrown
> java.lang.NullPointerException
> 	at ConsoleScript6.run(ConsoleScript6:6)
> {code}
> {code}
> // Interestingly enough, using .toUnique { it } gives the proper result: 
> groovy> List b = [1,4,2,3,3,2,1,4, null] 
> groovy> println b.toUnique { it } 
> groovy> println b 
>  
> [1, 4, 2, 3, null]
> [1, 4, 2, 3, 3, 2, 1, 4, null]
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)