Return different type of data from a method in java?

前端 未结 13 1501
别那么骄傲
别那么骄傲 2020-12-05 02:18
public static void main(String args[]) {
    myMethod(); // i am calling static method from main()
 }

.

public static ? myMethod(){         


        
13条回答
  •  暖寄归人
    2020-12-05 03:15

    I create various return types using enum. It doesn't defined automatically. That implementation look like factory pattern.

    public  enum  SmartReturn {
    
        IntegerType, DoubleType;
    
        @SuppressWarnings("unchecked")
        public  T comeback(String value) {
            switch (this) {
                case IntegerType:
                    return (T) Integer.valueOf(value);
                case DoubleType:
                    return (T) Double.valueOf(value);
                default:
                    return null;
            }
        }
    }
    

    Unit Test:

    public class MultipleReturnTypeTest {
    
      @Test
      public void returnIntegerOrString() {
         Assert.assertTrue(SmartReturn.IntegerType.comeback("1") instanceof Integer);
         Assert.assertTrue(SmartReturn.DoubleType.comeback("1") instanceof Double);
      }
    
    }
    

提交回复
热议问题