我如何在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
其他回答
对象变量;hastaId
Object hastaId = session.getAttribute("hastaID");
例如,将一个对象转换为int类型,即hasaid
int hastaID=Integer.parseInt(String.valueOf(hastaId));
答:
int i = ( Integer ) yourObject;
如果你的对象已经是一个整数,它将顺利运行。即:
Object yourObject = 1;
// cast here
or
Object yourObject = new Integer(1);
// cast here
etc.
如果你的对象是其他类型的对象,你需要先将它(如果可能的话)转换为int类型:
String s = "1";
Object yourObject = Integer.parseInt(s);
// cast here
Or
String s = "1";
Object yourObject = Integer.valueOf( s );
// cast here
如果对象最初被实例化为Integer,那么可以使用强制转换操作符(子类型)将其向下转换为int。
Object object = new Integer(10);
int i = (Integer) object;
注意,这只适用于至少使用带有自动装箱功能的Java 1.5,否则必须将i声明为Integer,然后对其调用intValue()。
但如果它最初根本不是作为Integer创建的,那么你就不能像这样向下转换。它将导致消息中带有原始类名的ClassCastException。如果通过String#valueOf()获得的对象的toString()表示一个语法上有效的整数(例如,只有数字,如果需要前面有一个负号),那么你可以使用integer #valueOf()或new integer()。
Object object = "10";
int i = Integer.valueOf(String.valueOf(object));
参见:
继承和强制转换教程
参考代码:
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);
}
}
如果你确定这个对象是一个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
推荐文章
- 如何分割逗号分隔的字符串?
- Java字符串—查看字符串是否只包含数字而不包含字母
- Mockito.any()传递带有泛型的接口
- 在IntelliJ 10.5中运行测试时,出现“NoSuchMethodError: org.hamcrest. matcher . descripbemismatch”
- 使用String.split()和多个分隔符
- Java数组有最大大小吗?
- 在Android中将字符串转换为Uri
- 从JSON生成Java类?
- 为什么java.util.Set没有get(int index)?
- 合并两个PHP对象的最佳方法是什么?
- Swing和AWT的区别是什么?
- 为什么Java流是一次性的?
- 四舍五入BigDecimal *总是*有两位小数点后
- 设计模式:工厂vs工厂方法vs抽象工厂
- Java:检查enum是否包含给定的字符串?