java泛型之矩阵简单操作

        该代码描写了java中泛型矩阵的加法和乘法使用。首先创建了名为 GenericMatrix 的泛型类,并通过受限通配<E extends Number>指明 GenericMatrix 泛型类型为Number的子类型。并在GenericMatrix中创立了其针对不同类型数据操作的加和乘的抽象方法,并在随后的IntegerMatrix 和DoubleMatrix中将其抽象方法重新实现!最后在main方法中创建了Integer和Double数组,来进行加法和乘法操作!注:该程序主要来自Y.Daniel Liang老师的《Java语言程序设计~进阶篇》,程序略有改动,一本不错的书哦,值得收藏!

        下面是代码展示:



//注:该程序主要来自Y.Daniel Liang老师的《Java语言程序设计~进阶篇》,程序略有改动,一本不错的书哦,值得收藏!
abstract class GenericMatrix
  
  
   
   {
    //将矩阵元素相加的抽象方法;
    protected abstract E add(E o1, E o2);
    //将矩阵的两个元素相乘的抽象方法
    protected abstract E multiply(E o1, E o2);
    //定义零矩阵的抽象方法
    protected abstract E zero();

    //将两个矩阵相加,用泛型E来表示类,所以方法是非静态的;
    public E[][] addMatrix(E[][] matrix1, E[][] matrix2){

        E[][] result = (E[][])new Number[matrix1.length][matrix1[0].length];
        //注意E[][] result = new Number[matrix.length][matrix1[0].length]是不对的,
        //因为不能用泛型类型来创建数组,要用(E[][])来转换才能创建数组;
        //检查矩阵matrix1和矩阵matrix2的大小是否相等,matrix1.length为行数,matrix1[0].length为列数
        if ((matrix1.length != matrix2.length) || (matrix1[0].length != matrix2[0].length)){
            throw new RuntimeException("The matrices do not have the same size!");
        }else{for(int i=0; i
   
    

        大家有啥问题可以指出哦,这也是我第一篇博客,我也是在学习中,希望和大家一起进步!加油 ^_^


  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值