Uploaded image for project: 'Groovy'
  1. Groovy
  2. GROOVY-3305

Can't use list argument when The method's first argument class is int

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • None
    • 1.6.1, 1.5.8, 1.7-beta-1
    • None
    • None
    • OS: WindowsXP, Java: 1.6.0_11, Groovy: 1.6-RC-1

    Description

      When I run the following codes, I caught
      java.lang.ClassCastException: java.util.ArrayList cannot be cast to java.lang.Number
      at org.codehaus.groovy.reflection.stdclasses.IntegerCachedClass.coerceArgument(IntegerCachedClass.java:37)
      ...

      def foo(int arg0, String arg1, arg2){
          println arg0
          println arg1
          println arg2
      }
      foo([ 1, "B", 0.5 ])
      

      but I was able to run the next methods

      def foo(Number arg0, String arg1, int arg2){...}
      
      def foo(String arg0, int arg1, int arg2){...}
      

      I tried

        Number GOOD
        String GOOD
        char GOOD
        Object GOOD
        BigInteger GOOD
      
        int BAD
        BigDecimal BAD
        float BAD
        byte BAD
      

      Attachments

        Activity

          People

            roshandawrani Roshan Dawrani
            mitsubuchi Takashi Mitsubuchi
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: