首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将对象强制转换为int类型

如何将对象强制转换为int类型
EN

Stack Overflow用户
提问于 2010-09-08 02:15:37
回答 13查看 718.7K关注 0票数 247

如何在java中将对象强制转换为int类型?

EN

回答 13

Stack Overflow用户

发布于 2010-09-08 02:51:02

代码语言:javascript
复制
@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类型。

票数 13
EN

Stack Overflow用户

发布于 2010-09-08 02:17:04

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

票数 4
EN

Stack Overflow用户

发布于 2010-09-08 02:33:48

答案:

代码语言:javascript
复制
int i = ( Integer ) yourObject;

如果你的对象已经是一个整数,它将平滑地运行。即:

代码语言:javascript
复制
Object yourObject = 1;
//  cast here

代码语言:javascript
复制
Object yourObject = new Integer(1);
//  cast here

等。

如果您的对象是其他任何对象,您需要首先(如果可能)将其转换为int:

代码语言:javascript
复制
String s = "1";
Object yourObject = Integer.parseInt(s);
//  cast here

代码语言:javascript
复制
String s = "1";
Object yourObject = Integer.valueOf( s );
//  cast here
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3661413

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档