java中,根据Object的类型如何强转为原始类型?

2024-12-05 00:59:22
推荐回答(2个)
回答1:

java使用变量的instance方法先判断是否什么基本类型,然后使用强制转换,实例如下:

Object param = params.get(i);
   if (param instanceof Integer) {
    int value = ((Integer) param).intValue();
    prepStatement.setInt(i + 1, value);
   } else if (param instanceof String) {
    String s = (String) param;
    prepStatement.setString(i + 1, s);
   } else if (param instanceof Double) {
    double d = ((Double) param).doubleValue();
    prepStatement.setDouble(i + 1, d);
   } else if (param instanceof Float) {
    float f = ((Float) param).floatValue();
    prepStatement.setFloat(i + 1, f);
   } else if (param instanceof Long) {
    long l = ((Long) param).longValue();
    prepStatement.setLong(i + 1, l);
   } else if (param instanceof Boolean) {
    boolean b = ((Boolean) param).booleanValue();
    prepStatement.setBoolean(i + 1, b);
   } else if (param instanceof Date) {
    Date d = (Date) param;
    prepStatement.setDate(i + 1, (Date) param);
   }

回答2:

强类型要求事先知道类型。

想直接转,必须有类型的定义。
只有逐个判断,转换。

可以使用反射
o.getClass() 和 MyClassObject.class 比较。