java - 为什么有人要这样做?

标签 java

为什么有人要这样做?

private Number genericObjectToNumber (Object obj)
{
    if (obj instanceof Byte)
    {
        return(new Byte((Byte) obj));
    }
    else if (obj instanceof Short)
    {
        return(new Short ((Short) obj));
    }

......

    else if(obj instanceof BigInteger)
    {
        return(BigInteger.ZERO.add ((BigInteger) obj));
    }
    return(null); // if it isn't a number, we don't want it
}

为什么不只返回 Actor 阵容?为什么要通过新对象的构造函数?为什么不问 obj 是否为实例

    if (obj instanceof Number)
    {
        return((Number)obj);
    }

最佳答案

我认为没有正当理由这样做。如果对象是可变的并且您想要创建这些对象的副本,那么这可能是有意义的。但原始包装类是不可变的,因此使用现有对象调用构造函数没有意义。

关于java - 为什么有人要这样做?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28244719/

相关文章:

java - 通用 java 删除如何影响 newInstance() 的使用?

java - AlertDialog 中的按钮未出现

java - Integer.parseInt(String) 是否创建对象?

java - NullPointerException SQLiteAssetHelper

java - 默认包中定义的类的可访问性

java - 导出可运行的 JAR 文件

java - Maven:如何排除或设置提供给其他依赖项拖动的依赖项

java - 具有可靠消息传递的 Apache CXF3.0.4 Soap Web 服务抛出异常

java - 是否可以在运算符之前和之后剪切字符串?

java - 为什么要使用 REST @Produces 注解