将任何参数作为输入的方法签名

时间:2011-07-25 08:24:52

标签: java generics

如何声明以LongInteger作为输入的方法签名?

我尝试过关注,但它会出现编译错误:

List<Myobject> fun ( ? extends Number) value){
 //impl       

}

5 个答案:

答案 0 :(得分:3)

public <N extends Number>List<T>  xx(N a) {...}

答案 1 :(得分:1)

此方法将任意数字作为输入: private <N extends Number> void foo(N param) {}

这个也返回相同类型的List

private <N extends Number> List<N> foo(N param) {}

答案 2 :(得分:1)

为什么不简单地将您的参数声明为Number?

List<Myobject> fun (Number value){
 //impl       

}

答案 3 :(得分:0)

<N extends Number> List<MyObject> fun(N value) { ... }

但在这个用例中,我并没有真正看到使用泛型的好处。我的意思是,为什么你的方法不只是以Number为参数?

答案 4 :(得分:0)

简单地

private <T extends Number> List<Myobject> fun(T value) {
    // do anything with the value
    return aMyobjectList;
}