2015年12月18日 星期五

Return different value from one function

public enum ReturnDifferent {

IntegerType,DoubleType,StringType;

  @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 ReturnDifferentTest {
@Test
public void testReturnDiff()
{
  Assert.assertTrue(ReturnDifferent.IntegerType.comeback("1") instanceof Integer);
    Assert.assertTrue(ReturnDifferent.DoubleType.comeback("1") instanceof Double);
}
}

沒有留言:

張貼留言