java泛型的问题

public static void printObjects(List<?> args) {

}

public static void main(String[] args) {
    List<String> list = new ArrayList<>();
    printObjects(list);
}

为什么这样可以,但是这样就不行了

    public static void printObjects(List<List<?>> args) {

    }

    public static void main(String[] args) {
        List<List<String>> list = new ArrayList<>();
        printObjects(list);
    }

现在想要List<list<?>> 这种,有什么办法吗

阅读 1.5k
1 个回答

试试使用型如 <T> 的语法


import java.util.*;

public class TestTemp {

public static <T> void printObjects(List<List<T>> args) {

}

public static void main(String[] args) {
    List<List<String>> list = new ArrayList<>();
    printObjects(list);
}

}

注意要在相应的方法前面声明这个是个模板方法 <T> void ...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题