我如何在java中将对象转换为int型?


当前回答

你不能。int不是Object。

虽然整数是一个对象,但我怀疑这是你的意思。

其他回答

我们可以使用下面的代码在Java中转换一个对象为Integer。

int value = Integer.parseInt(object.toString());

如果你的意思是将String转换为int,请使用Integer.valueOf("123")。

你不能将大多数其他对象强制转换为int型,因为它们没有int值。例如,XmlDocument没有int值。

首先使用instanceof关键字进行检查。如果为真,则转换它。

int[] getAdminIDList(String tableName, String attributeName, int value) throws SQLException {
    ArrayList list = null;
    Statement statement = conn.createStatement();
    ResultSet result = statement.executeQuery("SELECT admin_id FROM " + tableName + " WHERE " + attributeName + "='" + value + "'");
    while (result.next()) {
        list.add(result.getInt(1));
    }
    statement.close();
    int id[] = new int[list.size()];
    for (int i = 0; i < id.length; i++) {
        try {
            id[i] = ((Integer) list.get(i)).intValue();
        } catch(NullPointerException ne) {
        } catch(ClassCastException ch) {}
    }
    return id;
}
// enter code here

这段代码说明了为什么ArrayList很重要,以及为什么要使用它。简单地从Object转换int。可能会有帮助。

@Deprecated
public static int toInt(Object obj)
{
    if (obj instanceof String)
    {
         return Integer.parseInt((String) obj);
    } else if (obj instanceof Number)
    {
         return ((Number) obj).intValue();
    } else
    {
         String toString = obj.toString();
         if (toString.matches("-?\d+"))
         {
              return Integer.parseInt(toString);
         }
         throw new IllegalArgumentException("This Object doesn't represent an int");
    }
}

正如你所看到的,这不是一个非常有效的方法。你只需要确定你所拥有的对象类型。然后以正确的方式将其转换为int型。