泛型的方法传值相加怎么实现的? 不同数据该怎么分开处理运算?下面该如何实现?
2条回答 默认 最新
- Dummer25 2023-04-06 22:38关注
public class GenericsA<T extends Number> { private T t; public GenericsA(T t) { this.t = t; } public T sum(T tl) { if (t instanceof Double) { return (T) Double.valueOf(t.doubleValue() + tl.doubleValue()); } else if (t instanceof Float) { return (T) Float.valueOf(t.floatValue() + tl.floatValue()); } else if (t instanceof Long) { return (T) Long.valueOf(t.longValue() + tl.longValue()); } else { return (T) Integer.valueOf(t.intValue() + tl.intValue()); } } @Override public String toString() { return "GenericsA{" + "t=" + t + '}'; } public static void main(String[] args) { GenericsA<Integer> a = new GenericsA<>(1); System.out.println(a.sum(2)); // 输出 3 System.out.println(a); // 输出 GenericsA{t=1} GenericsA<Double> b = new GenericsA<>(1.0); System.out.println(b.sum(2.0)); // 输出 3.0 System.out.println(b); // 输出 GenericsA{t=1.0} } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 想问一下树莓派接上显示屏后出现如图所示画面,是什么问题导致的
- ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
- ¥15 cmd cl 0x000007b
- ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
- ¥500 火焰左右视图、视差(基于双目相机)
- ¥100 set_link_state
- ¥15 虚幻5 UE美术毛发渲染
- ¥15 CVRP 图论 物流运输优化
- ¥15 Tableau online 嵌入ppt失败
- ¥100 支付宝网页转账系统不识别账号