我如何在java中将对象转换为int型?
当前回答
如果你的意思是将String转换为int,请使用Integer.valueOf("123")。
你不能将大多数其他对象强制转换为int型,因为它们没有int值。例如,XmlDocument没有int值。
其他回答
不可能做到。int不是一个对象,它是一个基本类型。你可以将它转换为Integer,然后获取int。
Integer i = (Integer) o; // throws ClassCastException if o.getClass() != Integer.class
int num = i; //Java 1.5 or higher
最后,找到了适合您的规范的最佳实现。
public int tellMyNumber(Object any) {
return 42;
}
你不能。int不是Object。
虽然整数是一个对象,但我怀疑这是你的意思。
如果对象最初被实例化为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));
参见:
继承和强制转换教程
我在处理来自GSON的数据时使用一行程序:
int i = object != null ? Double.valueOf(object.toString()).intValue() : 0;
推荐文章
- 如何在java中格式化持续时间?(如格式H:MM:SS)
- urlencoder .encode(字符串)已弃用,我应该使用什么代替?
- javax.transaction.Transactional vs . org.springframework.transaction.annotation.Transactional
- Java 8接口方法中不允许“同步”的原因是什么?
- 如何找到Java堆大小和内存使用(Linux)?
- 使用Enum实现单例(Java)
- RabbitMQ与通道和连接之间的关系
- buildSessionFactory()配置方法在Hibernate中已弃用?
- Spring MVC -如何获得所有的请求参数在一个地图在Spring控制器?
- 如何在Java中按两个字段排序?
- 文件之间的差异。路径中的分隔符和斜杠
- 在方法参数中使用NotNull注释
- 在Swift中转换Float为Int
- Spring MVC中处理可选参数的@RequestParam
- Tomcat:如何查找正在运行的Tomcat版本?