当前位置: 首页 > 知识库问答 >
问题:

在不使用不安全转换的情况下从整数强制转换为字符

都阳
2023-03-14

我必须写一个方法,它有一个Integer类型的参数,并且必须返回一个Character类型的对象。如果给定参数的值可以表示为字符对象,则将其作为字符返回。否则返回null。

我的任务制定得很糟糕,它说:“不安全的转换(例如从int到char)在你的代码中是不允许的”,我想这不是不安全的,但也不允许?

到目前为止我的代码:

public Character methodName (Integer i) {

        if (i >= 0 && i <= Character.MAX_VALUE) {
            return Character.valueOf((char) i.intValue());   //unsafe conversion
        }
        else
            return null;
    }

我试图通过任何方式修复它,但就是无法提出不使用不安全转换的解决方案,非常感谢您提前提供帮助!

共有1个答案

宇文温文
2023-03-14

你的皈依在这里很安全。

  • 您正在检查int是否在字符范围内
  • 然后使用内置方法进行强制转换

也许还有另一种方法,但它更棘手、更怪异:

String iStr = Integer.toString(i.intValue())
char c = iStr.charAt(0)
Character crt = Character.valueOf(c)

我重复一遍,但你的方法很好。。。我不明白你的老师对你有什么期望。

 类似资料: