You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

创建泛型类时如何使用Object类型?计算器类加法实现咨询

问题解决思路与实现代码

首先纠正一个误区:你写的class Calculator<Object>里的Object是自定义的泛型参数名称,并非Java自带的java.lang.Object,这会导致代码逻辑混乱。如果要基于Object类型处理数值相加,不需要额外声明泛型,直接用Object作为参数和返回类型即可。

实现思路

  • 先判断输入参数的类型,确保是Integer或Float
  • 根据类型执行对应的加法操作
  • 将结果以Object类型返回

完整实现代码

class Calculator {
    // 实现Integer、Float类型的两数相加,返回Object类型
    Object addition(Object first, Object second) {
        if (first instanceof Integer && second instanceof Integer) {
            return (Integer) first + (Integer) second;
        } else if (first instanceof Float && second instanceof Float) {
            return (Float) first + (Float) second;
        } else {
            // 对不支持的类型抛出异常,也可根据需求返回null
            throw new IllegalArgumentException("仅支持Integer和Float类型的相加");
        }
    }
}

代码说明

  • 移除了错误的泛型声明,直接使用Object作为参数和返回类型
  • 通过instanceof判断参数类型,分别处理整数和浮点数的加法逻辑
  • 加法结果会自动装箱为对应的包装类,天然符合Object类型的返回要求
  • 增加异常处理,明确提示不支持的输入类型

内容的提问来源于stack exchange,提问作者Onkar Dighe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 20:39:52