### Question:
TypeUtil { static public DataType getConstantDataType(String string){ try { if(string.indexOf('.') > -1){ Float.parseFloat(string); return DataType.FLOAT; } else { Integer.parseInt(string); return DataType.INTEGER; } } catch(NumberFormatException nfe){ return DataType.STRING; } } private  TypeUtil(); static boolean equals(DataType dataType, Object left, Object right); @SuppressWarnings ( value = {"rawtypes", "unchecked"} ) static int compare(DataType dataType, Object left, Object right); static Object parseOrCast(DataType dataType, Object value); static Object parse(DataType dataType, String value); static String format(Object value); static DataType getDataType(Object value); static DataType getResultDataType(DataType left, DataType right); static OpType getOpType(DataType dataType); static Object cast(DataType dataType, Object value); static DataType getConstantDataType(String string);  }### Answer:
@Test public void getConstantDataType(){ assertEquals(DataType.FLOAT, TypeUtil.getConstantDataType("1.0")); assertEquals(DataType.FLOAT, TypeUtil.getConstantDataType("1.0E0")); assertEquals(DataType.STRING, TypeUtil.getConstantDataType("1.0X")); assertEquals(DataType.INTEGER, TypeUtil.getConstantDataType("1")); assertEquals(DataType.STRING, TypeUtil.getConstantDataType("1E0")); assertEquals(DataType.STRING, TypeUtil.getConstantDataType("1X")); }