如何在java中将对象强制转换为int类型?
发布于 2010-09-08 02:51:02
@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类型。
发布于 2010-09-08 02:17:04
您必须将其转换为Integer (int的包装类)。然后,您可以使用Integer的intValue()方法来获取内部整数。
发布于 2010-09-08 02:33:48
答案:
int i = ( Integer ) yourObject;
如果你的对象已经是一个整数,它将平滑地运行。即:
Object yourObject = 1;
// cast here
或
Object yourObject = new Integer(1);
// cast here
等。
如果您的对象是其他任何对象,您需要首先(如果可能)将其转换为int:
String s = "1";
Object yourObject = Integer.parseInt(s);
// cast here
或
String s = "1";
Object yourObject = Integer.valueOf( s );
// cast here
https://stackoverflow.com/questions/3661413
复制相似问题