[ 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)