JAVA_数组_泛型:我写了一个数组结合泛型的通用求和方法,求帮忙优化,写的太烂了

问题描述

JAVA_数组_泛型:我写了一个数组结合泛型的通用求和方法,求帮忙优化,写的太烂了

=====《求求大神帮我优化下啊,我写的太烂了》====
public static void main(String[] args) {
Number[] num1 = {2, 3, 3, 4, 5}; //Integer
Number[] num2 = {1.1, 2.0, 3.0, 4.0, 5.0}; //Double
System.out.println(num1[0].getClass().getTypeName());
System.out.println(new ArraysTest().ArraysSum(num2));

}

public static <T extends Number> T ArraysSum(T[] num) {
    System.out.println(num.getClass().getTypeName());
    Double sum = 0.0;
    for (int i = 0; i < num.length; i++) {
        sum += num[i].doubleValue();

    }
    if (num[0].getClass().getTypeName().equals("java.lang.Integer")){
        Integer result = (int)((double)sum);
        return (T)result;
    }
    if (num[0].getClass().getTypeName().equals("java.lang.Double")){
        Double result = sum.doubleValue();
        return (T)result;
    }
    return (T)sum;
}

如何结合instanceof 更加智能的判断?

解决方案

这种设计没有用好面向对象的多态, 代码可读性差,作为公共接口也很难让人理解和调用; 使用方法重载会有更好的体验。
Number的子类还有BigDecimal, 显然BigDecimal和Integer的加法运算是不同的。
使用instanceof也只能简化if中的条件代码,没有本质区别。

解决方案二:

Java数组与泛型
Java 泛型数组
Java 泛型数组

时间: 2025-01-19 07:55:34

JAVA_数组_泛型:我写了一个数组结合泛型的通用求和方法,求帮忙优化,写的太烂了的相关文章

想做一个简单的模拟充值的页面,大神门有代码可以借鉴一下吗?我自己写了一个比较蛋疼的有很多问题,求帮忙。

问题描述 我想实现自动获取当前用户的ID,充值的时候确认用户输入的密码和登录密码是否一致,然后按照充值金额附加到原先在数据库的money那一列里面..最后再显示出来当前的金额数..但是..太菜了..只实现了录入..其余就不行了..<body><formid="form1"runat="server"style="text-align:left"><divclass="theader"style=&

java读文件后的数据怎么写到一个数组中 数据格式如下

问题描述 java读文件后的数据怎么写到一个数组中 数据格式如下 解决方案 简单的写了一下,希望对你有帮助: public class Test { // 数组列数 private static final int COLUMN_COUNT = 3; public static void main(String[] args) { BufferedReader br = null; try { br = new BufferedReader(new InputStreamReader(new F

javascript-c# aspx 用js写了一个登陆框 想把登陆框的账号和密码 写在web.config

问题描述 c# aspx 用js写了一个登陆框 想把登陆框的账号和密码 写在web.config c# aspx 用js写了一个登陆框 想把登陆框的账号和密码 写在web.config里面 点击登陆的时候那文本框的账号密码去和web.config的做匹配 一样就登陆成功 解决方案 <appSettings> <add key=""userName"" value=""xxx"" /> <add k

自己写的一个php基于phpQuery的通用采集类

还是小菜,第一次分享代码哈,这是自己以前写的一个php的采集类,自己一直在用,自我感觉很简单很强大,只要懂一点点选择器的知识就可以采集任何页面了,也支持https页面,做简单的采集足够用了. <?php /** *通用列表采集类 *版本V1.3 *作者:JAE *博客:http://blog.jaekj.com */ require_once '../phpQuery/phpQuery/phpQuery.php'; class QueryList{ private $pageURL; priva

简单写了一个Android计算器,事件处理代码一团糟,该如何优化?

问题描述 大家好:刚刚开始学习Android开发,写了一个简单的计算器,主要是为了熟悉界面布局和事件处理.我写的代码很蠢,在一个主Activity中,一个按钮添加一个事件,请问有什么好的模式可以优化一下这种代码,谢谢!package com.wondershare.calculator;import android.app.Activity;import android.os.Bundle;import android.text.Editable;import android.view.View

一个很让人头疼的错误,求帮忙

问题描述 ThewebapplicationcreatedaThreadLocalwithkeyoftype[null](value[com.opensymphony.xwork2.inject.ContainerImpl$10@1807b9a])andavalueoftype[java.lang.Object[]](value[[Ljava.lang.Object;@32d6e7])butfailedtoremoveitwhenthewebapplicationwasstopped.Thisi

在Flash中怎样建立一个数组

数组 在Flash中怎样建立一个数组呢,有下面这些方法: 方法 1:创建初始长度为 0 的新 Array 对象. var my_array:Array = new Array();  trace(my_array.length); // 返回 0 方法 2:创建初始长度为 4 的新 Array 对象. var my_array:Array = new Array(4);  trace(my_array.length); // 返回 4 方法 3:创建初始长度为 5 的新 Array 对象 my_

【求助】用Python写出一个遍历网站所有url的小工具

问题描述 [求助]用Python写出一个遍历网站所有url的小工具 用Python 怎么写出一个 遍历网站所有url的小工具, 包括首页的url和所有子网页url 不能有重复的url,我自己写的只能遍历一个网页的 首页,子网页的遍历不出来,新人 没币 ,求好心人帮助!!! 解决方案 http://www.cnblogs.com/fnng/p/3576154.htmlhttp://www.oschina.net/code/list_releted_codes?id=25402 解决方案二: htt

javascript-js判断一个数组不包含一个数

问题描述 js判断一个数组不包含一个数 比如一个数组[1234] 变量a从1循环到5,怎么把5这个数取出来 解决方案 Array.prototype.mycontains = function(e) { for(i=0;i<this.length;i++) { if(this[i] == e) return true; } return false; } 然后这么用for (var i = 0; i <= 5; i++)if (!arr.mycontains(i)) alert(i); 解决方