相关疑难解决方法(0)

C++和Java中"泛型"类型之间有什么区别?

Java有泛型,C++提供了一个非常强大的编程模型template.那么,C++和Java泛型有什么区别?

c++ java generics language-features templates

150
推荐指数
6
解决办法
9万
查看次数

我可以对Number基类进行算术运算吗?

我试图在Java中创建一个将对数字执行操作的泛型类.在以下示例中,添加如下:

public class Example <T extends Number> {

    public T add(T a, T b){
        return a + b;
    }

}
Run Code Online (Sandbox Code Playgroud)

请原谅我的天真,因为我对Java Generics相对较新.此代码无法编译错误:

对于参数类型T,T,运算符+未定义

我认为通过添加"extends Number",代码将被编译.是否可以执行此Java或是否必须为每种Number类型创建重写方法?

java

30
推荐指数
3
解决办法
2万
查看次数

Java泛型和Number类

我想创建一个比较数字的方法,但可以有一个输入,它是Number的任何子类.

我看过这样做的方式......

public static <T extends Number> void evaluate(T inputNumber) {
  if (inputNumber >= x) {
    ...
  }
}
Run Code Online (Sandbox Code Playgroud)

在我可以执行比较之前,我需要得到实际的灵长类动物,Number类有方法为每个灵长类动物检索这个,但我想要一个干净的方法来选择正确的.

这可能吗?

干杯

java generics numbers

10
推荐指数
2
解决办法
1万
查看次数

简单的Java泛型问题

我想有一个方法来计算Integer,Double和Float类型的LinkedList的平均值.

问题是sum += i;语句,因为java说没有为Object类型定义+运算符.

我可以进行强制转换,但是如果LinkedList的类型为Float,并且强制转换为Integer,那么我将无法计算正确的均值.

我该怎么办?谢谢.

 public double mean (LinkedList<?> l)
 {
  double sum = 0;
  int n = 0;
  for (Object i : l)
  {
   n++;
   sum += i;
  }

  return sum / n;
 }
Run Code Online (Sandbox Code Playgroud)

java generics

0
推荐指数
1
解决办法
1098
查看次数

标签 统计

java ×4

generics ×3

c++ ×1

language-features ×1

numbers ×1

templates ×1