繁体   English   中英

如何检查对象是否可以转换为其他类型?

[英]How to check if an object is convertible to another type?

假设我有两个字符串对象:“25000.00”和“1234”,我的程序在运行时得到。 如何检查它们是否 转换为 转换为double和int类型? Java中有一个方法或关键字吗?

您可以使用Integer.parseIntDouble.parseDouble静态方法执行此操作。 这些方法中的每一个都接受一个String并根据需要将它们转换为intdouble 您可以通过调用此函数来检查字符串是否可转换。 如果可以进行转换,则会执行转换。 否则,方法将抛出NumberFormatException ,您可以捕获并响应。 例如:

try {
    int value = Integer.parseInt(myString);
    // Yes!  An integer.
} catch (NumberFormatException nfe) {
    // Not an integer
}

希望这可以帮助!

只是为了澄清: String 永远不能转换DoubleInteger

但是,您可以使用Double.parseDoubleInteger.parseInt方法将String 解析为数字。 如果它们不可解析,则抛出NumberFormatException 您可以捕获并适当地处理它。

转换解析是完全不同的事情。

编辑:我看到@BalusC编辑了这个问题并将“cast”改为“convert”。 我想我的评论现在多余:)

在C#中,有一种方法可以检查对象是否可以转换为其他对象。 但我猜,Integer.parseInt或Double.parseDouble就足够了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM