Tag: raw types

为什么我可以在三元操作中将原始类型设置为null

我一直认为Java中的原始类型不能为null ,因为如果我尝试执行以下操作,则编译时错误: int test = null; 然而,在三元操作中,似乎允许: int test = something != 0 ? 5 : null; 不是三元操作(在这种情况下): int test; if (something != 0){ test = 5; } else { test = null } 当然不应该被允许。 如果该条件失败,由于自动装箱,它将自动抛出NullPointerException 。 那么为什么java编译器不会像这样获取废话呢?

无法从List 转换为List <List >

原始列表转换为List就好了。 为什么原始列表列表不能转换为List ? { // works List raw = null; List wild = raw; } { // Type mismatch: cannot convert from List to List<List> List raw = null; List<List> wild = raw; } 背景故事 (缓解xy问题 ): 我正在使用的API返回List 。 我碰巧知道它始终是List<JAXBElement> 。 我打算循环并构建自己的List ,但是当我编写List raw = api();时,我试图修复(但不是抑制)原始类型编译器警告List raw = api(); 。 我试过了: List<JAXBElement> raw = api(); […]