我想写一个矩阵类,为了使矩阵元素可以是任意数值类型,当然要用泛型。可是Integer,Double等基本类型的封装只能用运算符+-*\作运算,而BigInteger,BigDecimal只能用add()等方法操作,二者无法统一。尽管有公共基类Number,但它并没提供一个统一的操作接口。难道我要为每个数值类型都定义一个矩阵类吗?!在C++,C#等支持运算符重载的语言中,解决方案相当容易。即使不支持运算符重载,只要Java提供数值操作的统一接口,问题也不复杂,现在该怎么办?
更要命的是Integer不能继承,再加一层封装必然大大影响性能.....越来越发现Java泛型的丑陋
更要命的是Integer不能继承,再加一层封装必然大大影响性能.....越来越发现Java泛型的丑陋
2)用什么要把事情搞得这么复杂呢?所有的都统一成double不又快又简单吗?精度应该也够用了吧.
回2楼,泛型当然好,而且正是这个问题的解决方案。只是Java提供的泛型太差劲了