java泛型某些情况下不起作用

如题,下方代码两处均用了泛型,<R>List<R>对应的应该是返回值的泛型,怎么可能会对传入参数的泛型造成影响,求解答

public class fanx<R> {

    public void fanxx(R dd){}

    public <R>List<R> getlist(R i){
        List l = new ArrayList();
        l.add(1);
        l.add("123");
        l.add(new Object());
        return l;
    }

    class Box<T> {
        private T data;
        public Box() { }
        public Box(T data) {
            this.data = data;
        }
        public T getData() {
            return data;
        }
    }

    public static void main(String[] args) {

        test.Box<String> name = new test.Box<String>("");//正常

        List l2 = new fanx<String>().getlist(123);//正常
        List l3 = new fanx<String>().getlist("123");//正常
        
        new fanx<String>().fanxx(1);//传入参数报错
        new fanx<String>().fanxx("1");//正常
    }

}


冷魇
浏览 1238回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java