java - Java无界通配符误区
问题描述
假设我定义了一组参数化类型,如下所示:
Deque<Node<Integer>> nodes = new LinkedList<>();
nodes.add(new Node(5));
为什么将该引用传递给签名中具有无界通配符的方法是错误的,如下所示:
static void printNodes(Collection<Node<?>> nodes) {...}
解决方案
推荐阅读
- python-3.x - 用大数据训练神经网络:Howto?
- php - 如何对变量应用修改直到它不再改变?
- c# - 无法复制文件指定的文件名太长。将机器人发布到天蓝色时
- c# - 'else' 不能启动语句。[杂项文件.csproj]
- php - 打印特定的 SOAP 响应
- ffmpeg - 使用 ffmpeg 降低视频分辨率会增加文件大小
- python - 如何在 python 中绘制 3D 热图
- java - 需要使用 Jackson 反序列化此 JSON - [{}、{}、{}] - 用于 JSON 数组的 Jackson 注释是什么?
- python - 如何使用 Hive 或 Python 替换字符串中的几个字符
- angular - 如何实例化 DomSanitizationService