小编use*_*069的帖子

如何在C#中模拟Java通用通配符

以下Java代码比较两个数组的平均值,一个是整数,另一个是双数.

class Generic_Class<T extends Number>
{
    T[] nums; // array of Number or subclass

    Generic_Class(T[] o)
    {
        nums = o;
    }

    // Return type double in all cases.
    double average()
    {
        double sum = 0.0;

        for(int i=0; i < nums.length; i++)
            sum += nums[i].doubleValue();

        return sum / nums.length;
    }


//  boolean sameAvg(Generic_Class<T> ob)
//  Using Generic_Class<T> i get the error:
//  incompatible types: Generic_Class<Double> cannot be converted to Generic_Class<Integer>

//  Using wilcards I get no error
    boolean sameAvg(Generic_Class<?> ob)
    { …
Run Code Online (Sandbox Code Playgroud)

c# java generics wildcard

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

标签 统计

c# ×1

generics ×1

java ×1

wildcard ×1