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


当前回答

如果你确定这个对象是一个Integer:

int i = (Integer) object;

或者,从Java 7开始,你可以等价地写:

int i = (int) object;

注意,如果你的对象不是Integer,它会抛出ClassCastException,如果你的对象是null,它会抛出NullPointerException。

通过这种方式,您假设您的对象是一个整数(包装的整型),并将其拆箱为整型。

int是一个原语,所以它不能存储为对象,唯一的方法是将int考虑/装箱为整数,然后存储为对象。


如果你的对象是一个String,那么你可以使用Integer.valueOf()方法将它转换成一个简单的int:

int i = Integer.valueOf((String) object);

如果对象不是一个包含整数的String对象,它可以抛出NumberFormatException异常。


资源:

自动装箱 原始数据类型

关于同一话题:

Java:自动装箱和强制转换有什么区别? 自动装箱:我可以这样写:Integer I = 0;而不是:Integer i = new Integer(0); 将Object转换为原始int

其他回答

必须将其强制转换为Integer (int的包装类)。然后,您可以使用Integer的intValue()方法来获取内部整型。

假设对象是一个Integer对象,那么你可以这样做:

int i = ((Integer) obj).intValue();

如果对象不是Integer对象,则必须检测类型并根据其类型进行转换。

参考代码:

public class sample 
{
  public static void main(String[] args) 
  {
    Object obj=new Object();
    int a=10,b=0;
    obj=a;
    b=(int)obj;

    System.out.println("Object="+obj+"\nB="+b);
  }
}
so divide1=me.getValue()/2;

int divide1 = (Integer) me.getValue()/2;

你不能。int不是Object。

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