[ 
https://issues.apache.org/jira/browse/GROOVY-8454?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16333356#comment-16333356
 ] 

Jochen Theodorou commented on GROOVY-8454:
------------------------------------------

[~paulk] undefined is not correct. It is the most general type, that is chosen. 
In the sense of the method selection Map is a more general type than String. 
The result is therefore correct

> Method with wrong argument typed is called when passing 'null'
> --------------------------------------------------------------
>
>                 Key: GROOVY-8454
>                 URL: https://issues.apache.org/jira/browse/GROOVY-8454
>             Project: Groovy
>          Issue Type: Bug
>    Affects Versions: 2.4.3
>            Reporter: Marek Baluch
>            Priority: Major
>
> The output of the following code is 'Map:  null' instead of 'String: null'
> {code:java}
> class Stat {
>     def static m(String s) {
>         println 'String: ' + s
>     }
>     def static m(Map m) {
>         println 'Map: ' + m
>     }
> }
> class Main {
>     def run() {
>         String n = null
>         Stat.m(n)
>     }
>     def static void main(String ... args) {
>         new Main().run()
>     }
> }
> {code}
> To get the correct output I must explicitly cast the null value to String.
> {code:java}
> Stat.m((String)n)
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to